浅谈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 相关文章推荐
tensorflow获取变量维度信息
Mar 10 Python
Python迭代器与生成器用法实例分析
Jul 09 Python
python-序列解包(对可迭代元素的快速取值方法)
Aug 24 Python
Django shell调试models输出的SQL语句方法
Aug 29 Python
python程序 创建多线程过程详解
Sep 23 Python
Python小程序 控制鼠标循环点击代码实例
Oct 08 Python
python小程序基于Jupyter实现天气查询的方法
Mar 27 Python
Python特殊属性property原理及使用方法解析
Oct 09 Python
利用Python实现最小二乘法与梯度下降算法
Feb 21 Python
Python 实现绘制子图及子图刻度的变换等问题
May 31 Python
Python还能这么玩之用Python做个小游戏的外挂
Jun 04 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
使用sockets:从新闻组中获取文章(二)
2006/10/09 PHP
实用函数2
2007/11/08 PHP
javascript 控制弹出窗口
2007/04/10 Javascript
jQuery队列控制方法详解queue()/dequeue()/clearQueue()
2010/12/02 Javascript
JS如何将数字类型转化为没3个一个逗号的金钱格式
2014/01/27 Javascript
JS扩展方法实例分析
2015/04/15 Javascript
jQuery实现转动随机数抽奖效果的方法
2015/05/21 Javascript
jquery实现表格隔行换色效果
2015/11/19 Javascript
Bootstrap入门书籍之(一)排版
2016/02/17 Javascript
jquery自定义插件——window的实现【示例代码】
2016/05/06 Javascript
js判断登陆用户名及密码是否为空的简单实例
2016/05/16 Javascript
vue的一个分页组件的示例代码
2017/12/25 Javascript
10行原生JS实现文字无缝滚动(超简单)
2018/01/02 Javascript
Bootstrap-table使用footerFormatter做统计列功能
2018/09/07 Javascript
通过vue-cli3构建一个SSR应用程序的方法
2018/09/13 Javascript
vue使用原生js实现滚动页面跟踪导航高亮的示例代码
2018/10/25 Javascript
JavaScript 正则应用详解【模式、欲查、反向引用等】
2020/05/13 Javascript
[02:33]2014DOTA2 TI每日综述 LGD涉险晋级DK闯入胜者组
2014/07/14 DOTA
基于python脚本实现软件的注册功能(机器码+注册码机制)
2016/10/09 Python
Python实现的多线程同步与互斥锁功能示例
2017/11/30 Python
Python+tkinter使用40行代码实现计算器功能
2018/01/30 Python
解决pycharm 误删掉项目文件的处理方法
2018/10/22 Python
pygame游戏之旅 游戏中添加显示文字
2018/11/20 Python
python的内存管理和垃圾回收机制详解
2019/05/18 Python
Pytorch 实现sobel算子的卷积操作详解
2020/01/10 Python
Python GUI之tkinter窗口视窗教程大集合(推荐)
2020/10/20 Python
Python接口自动化系列之unittest结合ddt的使用教程详解
2021/02/23 Python
马来西亚在线药房:RoyalePharma
2019/12/01 全球购物
成功的餐厅经营创业计划书
2014/01/15 职场文书
大学学习生活感言
2014/01/18 职场文书
行政助理的岗位职责
2014/02/18 职场文书
企业党员公开承诺书
2014/03/26 职场文书
岗位廉洁从业承诺书
2014/03/28 职场文书
骨干教师考核方案
2014/05/09 职场文书
教师个人事迹材料
2014/12/17 职场文书
idea搭建可运行Servlet的Web项目
2021/06/26 Java/Android