我想在Keras中合并两个LSTM模型.我见过许多导入Merge的例子:
from keras.layers import Merge
Run Code Online (Sandbox Code Playgroud)
当我这样做时,我收到导入错误.
ImportError:无法导入名称'Merge'.
是否有一些重构,现在Merge在其他地方?
我正在训练一个使用 Bert (huggingface) 的二元分类器。该模型如下所示:
def get_model(lr=0.00001):
inp_bert = Input(shape=(512), dtype="int32")
bert = TFBertModel.from_pretrained('bert-base-multilingual-cased')(inp_bert)[0]
doc_encodings = tf.squeeze(bert[:, 0:1, :], axis=1)
out = Dense(1, activation="sigmoid")(doc_encodings)
model = Model(inp_bert, out)
adam = optimizers.Adam(lr=lr)
model.compile(optimizer=adam, loss="binary_crossentropy", metrics=["accuracy"])
return model
Run Code Online (Sandbox Code Playgroud)
对分类任务进行微调后,我想保存模型。
model.save("best_model.h5")
Run Code Online (Sandbox Code Playgroud)
然而,这会引发 NotImplementedError:
---------------------------------------------------------------------------
NotImplementedError Traceback (most recent call last)
<ipython-input-55-8c5545f0cd9b> in <module>()
----> 1 model.save("best_spam.h5")
2 # import transformers
~/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/tensorflow_core/python/keras/engine/network.py in save(self, filepath, overwrite, include_optimizer, save_format, signatures, options)
973 """
974 saving.save_model(self, filepath, overwrite, include_optimizer, save_format,
--> 975 signatures, options)
976
977 def …Run Code Online (Sandbox Code Playgroud)