为了账号安全,请及时绑定邮箱和手机立即绑定

'tf' 未在 load_model() 上定义 - 使用 lambda

'tf' 未在 load_model() 上定义 - 使用 lambda

慕尼黑5688855 2021-10-19 16:10:22
我有一个Keras模型,我试图导出并在不同的 Python 代码中使用。这是我的代码:from keras.models import Sequentialfrom keras.layers import Dense, Embedding, LSTM, GRU, Flatten, Dropout, Lambdafrom keras.layers.embeddings import Embeddingimport tensorflow as tfEMBEDDING_DIM = 100model = Sequential()model.add(Embedding(vocab_size, 300, weights=[embedding_matrix], input_length=max_length, trainable=False))model.add(Lambda(lambda x: tf.reduce_mean(x, axis=1)))model.add(Dense(8, input_dim=4, activation='relu'))model.add(Dense(3, activation='softmax'))model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])model.fit(X_train_pad, y_train, batch_size=128, epochs=25, validation_data=(X_val_pad, y_val), verbose=2)model.save('my_model.h5') 在另一个文件中,当我导入时my_model.h5:from keras.models import load_modelfrom keras.layers import Lambdaimport tensorflow as tfdef learning(test_samples):    model = load_model('my_model.h5')    #ERROR HERE    #rest of the code错误如下:  in <lambda>    model.add(Lambda(lambda x: tf.reduce_mean(x, axis=1)))NameError: name 'tf' is not defined经过研究,我发现我lambda在模型中使用的事实是导致此问题的原因,但是我添加了这些参考资料并没有帮助:from keras.models import load_modelfrom keras.layers import Lambdaimport tensorflow as tf可能是什么问题呢?
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 261 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信