类型错误:在筛选深度学习模型时无法筛选弱对象(&Q;T) [英] "TypeError: can't pickle weakref objects" when pickling a deep learning model

查看:21
本文介绍了类型错误:在筛选深度学习模型时无法筛选弱对象(&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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆