TypeError: can't pickle NotImplementedType objects (in keras, python)
TypeError: can't pickle NotImplementedType objects (in keras, python)
我正在使用 Keras 做深度 运行。
但是在学习后存储模型的过程中出现如下错误
TypeError: can't pickle NotImplementedType objects
当我 运行 另一个目录中的相同代码时没有问题。
下面的代码是导致错误的代码部分。
....
model.add(Dense(2, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
model = multi_gpu_model(model, gpus=4)
model.compile(loss='binary_crossentropy', optimizer = 'adam', metrics = ['accuracy'])
model.fit(x_train,y_train,epochs = 3, batch_size =500)
scores = model.evaluate(x_test,y_test)
#print("%s:.2f%%"%(model.metrics_names[1], scores[1]*100))
model.save('/disk3/seaice/seaice_keras_model2.h5')
是不是keras内部的存储方式出现了pickle的类型错误?
也是一样的环境,就是不知道为什么在不同的目录下效果不一样
如果你能为我提供这个问题的解决方案,我将不胜感激。
保存多GPU模型时,Keras文档建议您调用base模型的save(fname)
或save_weights(fname)
方法,而不是那些multi_gpu_model
(参见页面底部的 here)。
我会将您的 multi_gpu_model
分配给一个新变量,而不是重新分配 model
。这样您就可以轻松参考可用于节省重量的基本模型。
我正在使用 Keras 做深度 运行。 但是在学习后存储模型的过程中出现如下错误
TypeError: can't pickle NotImplementedType objects
当我 运行 另一个目录中的相同代码时没有问题。
下面的代码是导致错误的代码部分。
....
model.add(Dense(2, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
model = multi_gpu_model(model, gpus=4)
model.compile(loss='binary_crossentropy', optimizer = 'adam', metrics = ['accuracy'])
model.fit(x_train,y_train,epochs = 3, batch_size =500)
scores = model.evaluate(x_test,y_test)
#print("%s:.2f%%"%(model.metrics_names[1], scores[1]*100))
model.save('/disk3/seaice/seaice_keras_model2.h5')
是不是keras内部的存储方式出现了pickle的类型错误?
也是一样的环境,就是不知道为什么在不同的目录下效果不一样
如果你能为我提供这个问题的解决方案,我将不胜感激。
保存多GPU模型时,Keras文档建议您调用base模型的save(fname)
或save_weights(fname)
方法,而不是那些multi_gpu_model
(参见页面底部的 here)。
我会将您的 multi_gpu_model
分配给一个新变量,而不是重新分配 model
。这样您就可以轻松参考可用于节省重量的基本模型。