浅谈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基础教程之常用运算符
Aug 29 Python
Python多线程编程(八):使用Event实现线程间通信
Apr 05 Python
Django自定义插件实现网站登录验证码功能
Apr 19 Python
python3实现UDP协议的服务器和客户端
Jun 14 Python
便捷提取python导入包的属性方法
Oct 15 Python
Django 外键的使用方法详解
Jul 19 Python
讲解Python3中NumPy数组寻找特定元素下标的两种方法
Aug 04 Python
Python numpy.zero() 初始化矩阵实例
Nov 27 Python
使用Python爬取弹出窗口信息的实例
Mar 14 Python
Python导入模块包原理及相关注意事项
Mar 25 Python
Python模拟伯努利试验和二项分布代码实例
May 27 Python
Python基于tkinter canvas实现图片裁剪功能
Nov 05 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短域名转换为实际域名函数
2011/01/17 PHP
PHP中Session引起的脚本阻塞问题解决办法
2014/04/08 PHP
Yii2简单实现给表单添加验证码的方法
2016/07/18 PHP
PHP 7.4 新语法之箭头函数实例详解
2019/05/09 PHP
IE innerHTML,outerHTML所引起的问题
2009/06/04 Javascript
ExtJS 入门
2010/10/29 Javascript
js鼠标点击事件在各个浏览器中的写法及Event对象属性介绍
2013/01/24 Javascript
当自定义数据属性为json格式字符串时jQuery的data api问题探讨
2013/02/18 Javascript
JS 退出系统并跳转到登录界面的实现代码
2013/06/29 Javascript
js判断文本框剩余可输入字数的方法
2015/02/04 Javascript
JavaScript实现带标题的图片轮播特效
2015/05/20 Javascript
png在IE6 下无法透明的解决方法汇总
2015/05/21 Javascript
老生常谈jquery中detach()和remove()的区别
2017/03/02 Javascript
微信小程序使用wxParse解析html的实现示例
2018/08/30 Javascript
jQuery实现提交表单时不提交隐藏div中input的方法
2019/10/08 jQuery
javascript实现fetch请求返回的统一拦截
2019/12/22 Javascript
Vue强制组件重新渲染的方法讨论
2020/02/03 Javascript
python实现给数组按片赋值的方法
2015/07/28 Python
深入讲解Python编程中的字符串
2015/10/14 Python
Python随机数random模块使用指南
2016/09/09 Python
django 开发忘记密码通过邮箱找回功能示例
2018/04/17 Python
python实现pdf转换成word/txt纯文本文件
2018/06/07 Python
详解django自定义中间件处理
2018/11/21 Python
使用OpenCV实现仿射变换—缩放功能
2019/08/29 Python
pytorch GAN伪造手写体mnist数据集方式
2020/01/10 Python
python GUI库图形界面开发之PyQt5动态加载QSS样式文件
2020/02/25 Python
详解Python3中的 input() 函数
2020/03/18 Python
python实时监控logstash日志代码
2020/04/27 Python
小白教你PyCharm从下载到安装再到科学使用PyCharm2020最新激活码
2020/09/25 Python
CSS3模拟IOS滑动开关效果
2016/09/28 HTML / CSS
美国最好的保健品打折网店:Swanson
2017/08/04 全球购物
秘书岗位职责
2013/11/18 职场文书
学校元旦晚会方案
2014/02/19 职场文书
2015年调度员工作总结
2015/04/30 职场文书
《春酒》教学反思
2016/02/22 职场文书
PyTorch 如何自动计算梯度
2021/05/23 Python