浅谈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使用PIL缩放网络图片并保存的方法
Apr 24 Python
python连接字符串的方法小结
Jul 13 Python
Python编程实现双链表,栈,队列及二叉树的方法示例
Nov 01 Python
Python安装Numpy和matplotlib的方法(推荐)
Nov 02 Python
django项目运行因中文而乱码报错的几种情况解决
Nov 07 Python
Python文件打开方式实例详解【a、a+、r+、w+区别】
Mar 30 Python
python 并发编程 阻塞IO模型原理解析
Aug 20 Python
关于python字符串方法分类详解
Aug 20 Python
Python 实现递归法解决迷宫问题的示例代码
Jan 12 Python
Docker如何部署Python项目的实现详解
Oct 26 Python
python使用yaml 管理selenium元素的示例
Dec 01 Python
Python使用scapy模块发包收包
May 07 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加密解密的代码
2006/10/09 PHP
简单的PHP图片上传程序
2008/03/27 PHP
使用php-timeit估计php函数的执行时间
2015/09/06 PHP
PHP数组生成XML格式数据的封装类实例
2016/11/10 PHP
CI框架AR数据库操作常用函数总结
2016/11/21 PHP
javascript 文章截取部分无损html显示实现代码
2010/05/04 Javascript
JQuery 弹出框定位实现方法
2010/12/02 Javascript
JQuery1.6 使用方法三
2011/11/23 Javascript
jquery 插件学习(六)
2012/08/06 Javascript
JS解析json数据并将json字符串转化为数组的实现方法
2012/12/25 Javascript
js中的onchange和onpropertychange (onchange无效的解决方法)
2014/03/08 Javascript
js中通过父级进行查找定位元素
2014/06/15 Javascript
jquery单行文字向上滚动效果的实现代码
2014/09/05 Javascript
javascript实现一个简单的弹出窗
2016/02/22 Javascript
jQuery数组处理函数整理
2016/08/03 Javascript
JavaScript对象_动力节点Java学院整理
2017/06/23 Javascript
JavaScript正则表达式简单实用实例
2017/06/23 Javascript
前端axios下载excel文件(二进制)的处理方法
2018/07/31 Javascript
手动下载Chrome并解决puppeteer无法使用问题
2018/11/12 Javascript
vue实现局部刷新的实现示例
2019/04/16 Javascript
配置node服务器并且链接微信公众号接口配置步骤详解
2019/06/21 Javascript
vue 自定义右键样式的实例代码
2019/11/06 Javascript
[16:43]Heroes19_剃刀(完美)
2014/10/31 DOTA
[02:00]最后,我终于出了辉耀
2018/03/27 DOTA
[02:42]岂曰无衣,与子同袍!DOTA2致敬每一位守护人
2020/02/17 DOTA
浅谈Django REST Framework限速
2017/12/12 Python
详解Python可视化神器Yellowbrick使用
2019/11/11 Python
python中numpy.empty()函数实例讲解
2021/02/05 Python
详解Html5 Canvas画线有毛边解决方法
2018/03/01 HTML / CSS
现金会计岗位职责
2013/12/05 职场文书
《池塘边的叫声》教学反思
2014/04/12 职场文书
基本公共卫生服务健康教育工作方案
2014/05/22 职场文书
公安局班子个人对照检查材料思想汇报
2014/10/09 职场文书
2015年母亲节寄语
2015/03/23 职场文书
银行服务理念口号
2015/12/25 职场文书
PHP判断是否是json字符串
2021/04/01 PHP