尝试使用TF2和通用句子编码器。我在下面使用相同的代码,它适用于其他一些Hub模式(nnlm-20,50,128),但不适用于USE v4。我认为这与输出形状有关(由于错误以及model.summary()显示的内容),因为输出是{'outputs':( None,512)}:
的字典embed_layer = hub.KerasLayer("https://tfhub.dev/google/universal-sentence-encoder-large/4",input_shape=[],dtype=tf.string,trainable=True)
model = tf.keras.Sequential()
model.add(embed_layer)
model.add(tf.keras.layers.Dense(16, activation='relu'))
model.add(tf.keras.layers.Dense(1, activation='sigmoid'))
model.summary()
model.compile(optimizer='adam',
loss='binary_crossentropy',
metrics=['accuracy'])
history = model.fit(train_dataset,
validation_data=validation_dataset,
epochs=30,
verbose=1
)
ValueError:检查输入时出错:预期keras_layer_input具有1维,但数组的形状为()