浅谈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 调用VC++的动态链接库(DLL)
Sep 06 Python
python3使用urllib示例取googletranslate(谷歌翻译)
Jan 23 Python
微信跳一跳python代码实现
Jan 05 Python
PyQt5每天必学之弹出消息框
Apr 19 Python
Python学习笔记之lambda表达式用法详解
Aug 08 Python
python实现异常信息堆栈输出到日志文件
Dec 26 Python
使用ITK-SNAP进行抠图操作并保存mask的实例
Jul 01 Python
python 5个实用的技巧
Sep 27 Python
python subprocess pipe 实时输出日志的操作
Dec 05 Python
Python如何telnet到网络设备
Feb 18 Python
Python中可变和不可变对象的深入讲解
Aug 02 Python
关于Python使用turtle库画任意图的问题
Apr 01 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
JS与PHP向函数传递可变参数的区别实例代码
2011/05/18 PHP
yii实现创建验证码实例解析
2014/07/31 PHP
php析构函数的简单使用说明
2015/08/24 PHP
php仿微信红包分配算法的实现方法
2016/05/13 PHP
PHP云打印类完整示例
2016/10/15 PHP
laravel项目利用twemproxy部署redis集群的完整步骤
2018/05/11 PHP
php实现微信公众号企业转账功能
2018/10/01 PHP
新浪的图片新闻效果
2007/01/13 Javascript
通过Mootools 1.2来操纵HTML DOM元素
2009/09/15 Javascript
url地址自动加#号问题说明
2010/08/21 Javascript
Javascript基础教程之while语句
2015/01/18 Javascript
Javascript中Date类型和Math类型详解
2016/02/27 Javascript
微信小程序 弹框和模态框实现代码
2017/03/10 Javascript
jQuery基于随机数解决中午吃什么去哪吃问题示例
2018/12/29 jQuery
Vue实现渲染数据后控制滚动条位置(推荐)
2019/12/09 Javascript
Angular+Ionic使用queryParams实现跳转页传值的方法
2020/09/05 Javascript
Python中List.index()方法的使用教程
2015/05/20 Python
python机器学习理论与实战(五)支持向量机
2018/01/19 Python
python正则表达式爬取猫眼电影top100
2018/02/24 Python
Python列表常见操作详解(获取,增加,删除,修改,排序等)
2019/02/18 Python
python实现植物大战僵尸游戏实例代码
2019/06/10 Python
python 用所有标点符号分隔句子的示例
2019/07/15 Python
对python中的装包与解包实例详解
2019/08/24 Python
django中的数据库迁移的实现
2020/03/16 Python
Python爬虫之爬取淘女郎照片示例详解
2020/07/28 Python
Python爬虫爬取微博热搜保存为 Markdown 文件的源码
2021/02/22 Python
如何用 Python 制作一个迷宫游戏
2021/02/25 Python
python 将Excel转Word的示例
2021/03/02 Python
空气环保标语
2014/06/12 职场文书
市场策划求职信
2014/08/07 职场文书
中学生秋季运动会广播稿
2014/09/21 职场文书
2014年监理个人工作总结
2014/12/11 职场文书
自主招生自荐信怎么写
2015/03/24 职场文书
预备党员表决心的话
2015/09/22 职场文书
pytorch中的model.eval()和BN层的使用
2021/05/22 Python
SQL实战演练之网上商城数据库商品类别数据操作
2021/10/24 MySQL