浅谈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中shape计算矩阵的方法示例
Apr 21 Python
取numpy数组的某几行某几列方法
Apr 03 Python
python与C、C++混编的四种方式(小结)
Jul 15 Python
pandas的排序和排名的具体使用
Jul 31 Python
python线程中的同步问题及解决方法
Aug 29 Python
Django REST框架创建一个简单的Api实例讲解
Nov 05 Python
numpy:np.newaxis 实现将行向量转换成列向量
Nov 30 Python
将自己的数据集制作成TFRecord格式教程
Feb 17 Python
在 Pycharm 安装使用black的方法详解
Apr 02 Python
Python实现验证码识别
Jun 15 Python
Tensorflow--取tensorf指定列的操作方式
Jun 30 Python
python基础之爬虫入门
May 10 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
DC《小丑》11项提名领跑奥斯卡 Netflix成第92届奥斯卡提名最大赢家
2020/04/09 欧美动漫
中国广播史趣谈 — 几个历史第一次
2021/03/01 无线电
PHP脚本的10个技巧(3)
2006/10/09 PHP
php遍历数组的4种方法总结
2014/07/05 PHP
php通过前序遍历树实现无需递归的无限极分类
2015/07/10 PHP
PHP5.5安装PHPRedis扩展及连接测试方法
2017/01/22 PHP
PHP最常用的正则表达式
2017/02/13 PHP
Javascript学习笔记9 prototype封装继承
2010/01/11 Javascript
jquery图形密码实现方法
2015/03/11 Javascript
javascript中递归的两种写法
2017/01/17 Javascript
js for循环倒序输出数组元素的实例
2017/03/01 Javascript
jQuery实现的手动拖动控制进度条效果示例【测试可用】
2018/04/18 jQuery
vue.js引入外部CSS样式和外部JS文件的方法
2019/01/06 Javascript
vue项目前端埋点的实现
2019/03/06 Javascript
微信小程序点击列表跳转到对应详情页过程解析
2019/09/26 Javascript
浅谈Vue.set实际上是什么
2019/10/17 Javascript
AJAX XMLHttpRequest对象创建使用详解
2020/08/20 Javascript
[02:17]TI4西雅图DOTA2前线报道 啸天mik夫妻档解说
2014/07/08 DOTA
python基础教程之数字处理(math)模块详解
2014/03/25 Python
Python selenium 三种等待方式解读
2016/09/15 Python
详解MySQL数据类型int(M)中M的含义
2016/11/20 Python
Python2.7+pytesser实现简单验证码的识别方法
2017/12/29 Python
Python SQLite3简介
2018/02/22 Python
Python网络编程之TCP套接字简单用法示例
2018/04/09 Python
python实现旋转和水平翻转的方法
2018/10/25 Python
Python实现定时自动关闭的tkinter窗口方法
2019/02/16 Python
记一次pyinstaller打包pygame项目为exe的过程(带图片)
2020/03/02 Python
Python使用matplotlib绘制圆形代码实例
2020/05/27 Python
python opencv角点检测连线功能的实现代码
2020/11/24 Python
芭比波朗加拿大官方网站:Bobbi Brown Cosmetics CA
2020/11/05 全球购物
酒店总经理职务说明书
2014/02/26 职场文书
元旦活动感言
2014/03/08 职场文书
维稳工作情况汇报
2014/10/27 职场文书
工程项目经理岗位职责
2015/02/02 职场文书
left join、inner join、right join的区别
2021/04/05 MySQL
利用Python+OpenCV三步去除水印
2021/05/28 Python