类型错误:在筛选深度学习模型时无法筛选弱对象(&Q;T) [英] "TypeError: can't pickle weakref objects" when pickling a deep learning model
本文介绍了类型错误:在筛选深度学习模型时无法筛选弱对象(&Q;T)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
当我运行时
pickle.dump(model,open('modelDL.pkl','wb'))
我得到
TypeError: can't pickle weakref objects
我创建了一个深度学习模型,我正在尝试保存该模型。型号:
model = Sequential()
model.add( Dense(30,activation='relu') )
model.add( Dropout(0.5) )
model.add( Dense(20,activation='relu') )
model.add( Dropout(0.5) )
model.add( Dense(20,activation='relu') )
model.add( Dropout(0.5) )
model.add( Dense(1,activation='sigmoid') )
model.compile(optimizer='adam',loss='binary_crossentropy',metrics=['accuracy'])
推荐答案
由于深度学习模型太大,只能用来存储小模型,所以不能泡菜弱引用
使用:用于存储大量数据的HDF5
from keras.models import load_model
model.save('my_model.h5') # creates a HDF5 file 'my_model.h5'
返回编译后的模型
与前一个相同
model1 = load_model('my_model.h5')
y_pred = model1.predict(x_test)
这篇关于类型错误:在筛选深度学习模型时无法筛选弱对象(&Q;T)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文