浅谈keras的深度模型训练过程及结果记录方式


Posted in Python onJanuary 24, 2020

记录训练过程

history=model.fit(X_train, Y_train, epochs=epochs,batch_size=batch_size,validation_split=0.1)

将训练过程记录在history中

利用时间记录模型

import time
model_id = np.int64(time.strftime('%Y%m%d%H%M', time.localtime(time.time())))
model.save('./VGG16'+str(model_id)+'.h5')

保存模型及结构图

from keras.utils import plot_model
model.save('/opt/Data1/lixiang/letter_recognition/models/VGG16'+str(model_id)+'.h5')
plot_model(model, to_file='/opt/Data1/lixiang/letter_recognition/models/VGG16'+str(model_id)+'.png')

绘制训练过程曲线

import matplotlib.pyplot as plt
fig = plt.figure()#新建一张图
plt.plot(history.history['acc'],label='training acc')
plt.plot(history.history['val_acc'],label='val acc')
plt.title('model accuracy')
plt.ylabel('accuracy')
plt.xlabel('epoch')
plt.legend(loc='lower right')
fig.savefig('VGG16'+str(model_id)+'acc.png')
fig = plt.figure()
plt.plot(history.history['loss'],label='training loss')
plt.plot(history.history['val_loss'], label='val loss')
plt.title('model loss')
plt.ylabel('loss')
plt.xlabel('epoch')
plt.legend(loc='upper right')
fig.savefig('VGG16'+str(model_id)+'loss.png')

文件记录最终训练结果

logFilePath = './log.txt'
fobj = open(logFilePath, 'a')
fobj.write('model id: ' + str(model_id)+'\n')
fobj.write('epoch: '+ str(epochs) +'\n')
fobj.write('x_train shape: ' + str(X_train.shape) + '\n')
fobj.write('x_test shape: ' + str(X_test.shape)+'\n')
fobj.write('training accuracy: ' + str(history.history['acc'][-1]) + '\n')
fobj.write('model evaluation results: ' + str(score[0]) + ' ' +str(score[-1])+'\n')
fobj.write('---------------------------------------------------------------------------\n')
fobj.write('\n')
fobj.close()

以字典格式保存训练中间过程

import pickle
file = open('./models/history.pkl', 'wb')
pickle.dump(history.history, file)
file.close()

以上这篇浅谈keras的深度模型训练过程及结果记录方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现在windows服务中新建进程的方法
Jun 30 Python
Python实例一个类背后发生了什么
Feb 09 Python
python常用知识梳理(必看篇)
Mar 23 Python
一个基于flask的web应用诞生(1)
Apr 11 Python
Python下实现的RSA加密/解密及签名/验证功能示例
Jul 17 Python
python Pandas 读取txt表格的实例
Apr 29 Python
python3.5 email实现发送邮件功能
May 22 Python
python操作小程序云数据库实现简单的增删改查功能
Jun 06 Python
Python中顺序表原理与实现方法详解
Dec 03 Python
pytorch实现特殊的Module--Sqeuential三种写法
Jan 15 Python
Jupyter Notebook远程登录及密码设置操作
Apr 10 Python
Python中rapidjson参数校验实现
Jul 25 Python
关于Keras模型可视化教程及关键问题的解决
Jan 24 #Python
基于keras 模型、结构、权重保存的实现
Jan 24 #Python
Python 文件数据读写的具体实现
Jan 24 #Python
利用keras加载训练好的.H5文件,并实现预测图片
Jan 24 #Python
keras模型可视化,层可视化及kernel可视化实例
Jan 24 #Python
keras 特征图可视化实例(中间层)
Jan 24 #Python
基于keras输出中间层结果的2种实现方式
Jan 24 #Python
You might like
php下实现在指定目录搜索指定类型文件的函数
2008/10/03 PHP
php动态生成函数示例
2014/03/21 PHP
YII实现分页的方法
2014/07/09 PHP
PHP实现自动登入google play下载app report的方法
2014/09/23 PHP
在PHP程序中使用Rust扩展的方法
2015/07/03 PHP
使用PHP如何实现高效安全的ftp服务器(二)
2015/12/30 PHP
Js组件的一些写法
2010/09/10 Javascript
使用Mootools动态添加Css样式表代码,兼容各浏览器
2011/12/12 Javascript
详解强大的jQuery选择器之基本选择器、层次选择器
2012/02/07 Javascript
禁止iframe脚本弹出的窗口覆盖了父窗口的方法
2014/09/06 Javascript
使用jquery组件qrcode生成二维码及应用指南
2015/02/22 Javascript
使用requestAnimationFrame实现js动画性能好
2015/08/06 Javascript
详解js的异步编程技术的方法
2017/02/09 Javascript
js如何获取网页所有图片
2017/05/12 Javascript
vue时间格式化实例代码
2017/06/13 Javascript
微信小程序之滑动页面隐藏和显示组件功能的实现代码
2020/06/19 Javascript
vue3.0+vue-router+element-plus初实践
2020/12/02 Vue.js
python如何对实例属性进行类型检查
2018/03/20 Python
Python numpy实现二维数组和一维数组拼接的方法
2018/06/05 Python
Python3.5装饰器原理及应用实例详解
2019/04/30 Python
python 消费 kafka 数据教程
2019/12/21 Python
调整Jupyter notebook的启动目录操作
2020/04/10 Python
Python环境管理virtualenv&virtualenvwrapper的配置详解
2020/07/01 Python
浅析python 字典嵌套
2020/09/29 Python
python time.strptime格式化实例详解
2021/02/03 Python
HTML5触摸事件演化tap事件介绍
2016/03/25 HTML / CSS
买房子个人收入证明
2014/01/16 职场文书
大三学生做职业规划:给未来找个方向
2014/02/24 职场文书
老公爱的承诺书
2014/03/31 职场文书
业务员管理制度范本
2015/08/06 职场文书
公务员学习中国梦心得体会
2016/01/05 职场文书
教师反邪教心得体会
2016/01/15 职场文书
Python中的套接字编程是什么?
2021/06/21 Python
动画电影《龙珠超 超级英雄》延期上映
2022/03/20 日漫
java实现面板之间切换功能
2022/06/10 Java/Android
Win11自动黑屏怎么办 Win11自动黑屏设置教程
2022/07/15 数码科技