【问题标题】:keras model saving errorkeras模型保存错误
【发布时间】:2018-06-14 09:44:15
【问题描述】:

-在 ubuntu16.04.1 中 -在 keras 2.1.6 中

这是我的尝试

model =Sequential()
model.add(Dense(4096, input_shape=(3,), activation='relu'))
model.add(Dense(2048, activation='relu'))
model.add(Dense(1024, activation='relu'))
model.add(Dense(512, activation='relu'))
model.add(Dense(256, activation='relu'))
model.add(Dense(128, activation='relu'))
model.add(Dense(64, activation='relu'))
model.add(Dense(32, activation='relu'))
model.add(Dense(16, activation='relu'))
model.add(Dense(8, activation='relu'))
model.add(Dense(4, activation='relu'))
model.add(Dense(2, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
parallel_model = multi_gpu_model(model, gpus=4)
parallel_model.compile(loss='binary_crossentropy', optimizer = 'adam', metrics = ['accuracy'])
parallel_model.fit(x_train,y_train,epochs = 1, batch_size =2000)
model.save('test_train_model_re_re.h5')

保存片刻,出现此错误。

TypeError:无法腌制 NotImplementedType 对象

我没有使用 call_back 方法。

为什么会出现这个错误,请给出一些解决方案

【问题讨论】:

标签: python keras pickle


【解决方案1】:

我也遇到了同样的错误,我的解决方法是在模型拟合后使用此代码。

parallel_model.fit(x_train,y_train,epochs = 1, batch_size =2000) 

from keras.models import model_from_json   
# serialize model to JSON
model_json = parallel_model.to_json()
with open("model.json", "w") as json_file:
    json_file.write(model_json)
# serialize weights to HDF5
model.save_weights("model.h5")
print("Saved model to disk")

【讨论】:

  • 所以在我的例子中,代码 model.jason 和 model.save 改变了 parallelmodel.to_jason() 和 parallel_model.save。是这样吗??
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-02
  • 2019-01-26
  • 2018-03-11
相关资源
最近更新 更多