TypeError:无法为深度学习模型腌制弱引用对象

Dib*_*ena 7 classification python-3.x deep-learning tf.keras tensorflow2.0

当我运行 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']) 
Run Code Online (Sandbox Code Playgroud)

小智 3

无法pickle弱引用,因为深度学习模型太大,而pickle仅用于存储小模型

使用这个:HDF5用于存储大数据

from keras.models import load_model

model.save('my_model.h5')  # creates a HDF5 file 'my_model.h5'
Run Code Online (Sandbox Code Playgroud)

返回编译后的模型

与上一个相同

model1 = load_model('my_model.h5')

y_pred = model1.predict(x_test)
Run Code Online (Sandbox Code Playgroud)