浅谈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 的 Socket 编程
Mar 24 Python
Python中decorator使用实例
Apr 14 Python
浅谈python多线程和队列管理shell程序
Aug 04 Python
Python实现将xml导入至excel
Nov 20 Python
Python编程中装饰器的使用示例解析
Jun 20 Python
利用Python为iOS10生成图标和截屏
Sep 24 Python
python+requests+unittest API接口测试实例(详解)
Jun 10 Python
python aiohttp的使用详解
Jun 20 Python
对Python获取屏幕截图的4种方法详解
Aug 27 Python
Python变量作用域LEGB用法解析
Feb 04 Python
plt.figure()参数使用详解及运行演示
Jan 08 Python
68行Python代码实现带难度升级的贪吃蛇
Jan 18 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
微信access_token的获取开发示例
2015/04/16 PHP
php使用array_search函数实现数组查找的方法
2015/06/12 PHP
php删除数组中重复元素的方法
2015/12/22 PHP
php实现简单的权限管理的示例代码
2017/08/25 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
php设计模式之单例模式用法经典示例分析
2019/09/20 PHP
js replace正则表达式应用案例讲解
2013/01/17 Javascript
JavaScript中逗号运算符介绍及使用示例
2015/03/13 Javascript
一道JS前端闭包面试题解析
2015/12/25 Javascript
Bootstrap表单Form全面解析
2016/06/13 Javascript
js判断手机号是否正确并返回的实现代码
2017/01/17 Javascript
vue实现引入本地json的方法分析
2018/07/12 Javascript
解决vue-cli项目打包出现空白页和路径错误的问题
2018/09/04 Javascript
如何解决React官方脚手架不支持Less的问题(小结)
2018/09/12 Javascript
ionic3双击返回退出应用的方法
2019/09/17 Javascript
[50:44]DOTA2-DPC中国联赛 正赛 SAG vs Dragon BO3 第二场 2月22日
2021/03/11 DOTA
Python ftp上传文件
2016/02/13 Python
python 实现对文件夹内的文件排序编号
2018/04/12 Python
django 使用 request 获取浏览器发送的参数示例代码
2018/06/11 Python
python生成随机红包的实例写法
2019/09/02 Python
Python:type、object、class与内置类型实例
2019/12/25 Python
python如何把字符串类型list转换成list
2020/02/18 Python
Python itertools.product方法代码实例
2020/03/27 Python
Django windows使用Apache实现部署流程解析
2020/10/12 Python
Toppik顶丰增发纤维官网:解决头发稀疏
2017/12/30 全球购物
中文系学生自荐信范文
2013/11/13 职场文书
1亿有多大教学反思
2014/05/01 职场文书
企业安全标语
2014/06/07 职场文书
毕业生代领毕业材料的授权委托书
2014/09/29 职场文书
护士年终个人总结
2015/02/13 职场文书
2014年终个人总结报告
2015/03/09 职场文书
2015年发展党员工作总结报告
2015/03/31 职场文书
公司周年庆典致辞
2015/07/30 职场文书
如何使用Python提取Chrome浏览器保存的密码
2021/06/09 Python
手残删除python之后的补救方法
2021/06/26 Python
Redis高并发缓存架构性能优化
2022/05/15 Redis