当前位置:网站首页>keras调用load_model时报错ValueError: Unknown layer:*解决办法
keras调用load_model时报错ValueError: Unknown layer:*解决办法
2022-08-08 20:54:00 【yddcs】
报的错误是ValueError: Unknown layer: SpatialPyramidPooling,
使用了SPPnet用于分类。
错误原因:keras中SPP不是默认存在的层,使用 load model 函数报错。
解决:
model.save('./vgg40e.h5')
from keras.models import load_model
from keras.utils import CustomObjectScope
with CustomObjectScope({
'SpatialPyramidPooling': SpatialPyramidPooling}):
model = load_model('./vgg40e.h5')
有两个以上的自定义网络层的解决方法如下:
cu_ob = {
'AttentionLayer1': custom_layer.Attention,'AttentionLayer2': custom_layer.Attention}
model = load_model('./cnn.h5', custom_objects=cu_ob)
当然model的权重保存有多种办法,save_weights()方法
测试时直接导入搭建的模型代码,写成类或者函数封装,使用model.load_weights()来导入权重文件。
除此之外,模型的训练历史如果没有事先保存,那就找不到了。下次跑模型是应将其训练日志保存下来。
H = model.fit(X_train, y_train,
batch_size=batch_size,
epochs=epochs,
verbose=1,
validation_data=(X_test, y_test))
accu = H.history['accuracy']
val_acc = H.history['val_accuracy']
loss = H.history['loss']
val_loss = H.history['val_loss']
epochs = range(len(accu))
plt.plot(epochs,accu, 'b', label='Training accuracy')
plt.plot(epochs, val_acc, 'r', label='validation accuracy')
plt.title('Training and validation accuracy')
plt.legend(loc='lower right')
plt.savefig('./train40e.png', dpi = 600)
plt.figure()
plt.plot(epochs, loss, 'r', label='Training loss')
plt.plot(epochs, val_loss, 'b', label='validation loss')
plt.title('Training and validation loss')
plt.legend()
plt.savefig('./tloss40e.png', dpi = 600)
plt.show()
或者在开始训练前使用记录器.
from keras.callbacks import CSVLogger
csv_logger = CSVLogger('training.log', separator=',', append=False)
model.fit(X_train, y_train, callbacks=[csv_logger])
整个日志历史记录存储在文件“ training.log”中,可以获得与H.history相同的信息。加载存储在此文件中的数据,可以使用 pandas read_csv做到这一点:
import pandas as pd
log_data = pd.read_csv('training.log', sep=',', engine='python')
边栏推荐
猜你喜欢
随机推荐
记录非Gui模式Jmeter使用
实践篇1:深度学习之----LetNet之tensorflow2的实现
阿里云OSS文件下载到本地指定文件有坑
Kotlin注解
磁控胶囊胃镜:具有良好耐受性的非侵入性胃镜检查
charles简单使用
Flask 教程 第十一章:美化
PHP传递任意数量的函数参数
深度学习初步认知
C#版网络对战五子棋以及Socket通信
The new library online | CnOpenDataA shares of the listed company basic information data
Flask 教程 第二章:模板
Kotlin基础稳固第一天
jmeter逻辑控制器使用
Swoole 健康检查
Kotlin委托属性知识点
亚洲首个!朱永官院士荣获2022年国际土壤科学联合会李比希奖
drf-树形结构的model的序列化显示
Some useful frameworks in Kotlin
各类测试场景的检查点







