在keras中实现查看其训练loss值


Posted in Python onJune 16, 2020

想要查看每次训练模型后的 loss 值变化需要如下操作

loss_value= [ ]
self.history = model.fit(state,target_f,epochs=1, batch_size =32)
b = abs(float(self.history.history[‘loss'][0]))
loss_value.append(b)
print(loss_value)
loss_value = np.array( loss_value)
x = np.array(range(len( loss_value)))
plt.plot(x, loss_value, c = ‘g')
pt.svefit('c地址‘, dpi= 100)
plt.show()

scipy.sparse 稀疏矩阵 函数集合

pandas 用于在各种文件中提取,并处理分析数据; 有DataFrame数据结构,类似表格。

x=np.linspace(-10, 10, 100) 生成100个在-10到10之间的数组

补充知识:对keras训练过程中loss,val_loss,以及accuracy,val_accuracy的可视化

我就废话不多说了,大家还是直接看代码吧!

hist = model.fit_generator(generator=data_generator_reg(X=x_train, Y=[y_train_a,y_train_g], batch_size=batch_size),
         steps_per_epoch=train_num // batch_size,
         validation_data=(x_test, [y_test_a,y_test_g]),
         epochs=nb_epochs, verbose=1,
         workers=8, use_multiprocessing=True,
         callbacks=callbacks)

 logging.debug("Saving weights...")
 model.save_weights(os.path.join(db_name+"_models/"+save_name, save_name+'.h5'), overwrite=True)
 pd.DataFrame(hist.history).to_hdf(os.path.join(db_name+"_models/"+save_name, 'history_'+save_name+'.h5'), "history")

在训练时,会输出如下打印:

640/640 [==============================] - 35s 55ms/step - loss: 4.0216 - mean_absolute_error: 4.6525 - val_loss: 3.2888 - val_mean_absolute_error: 3.9109

有训练loss,训练预测准确度,以及测试loss,以及测试准确度,将文件保存后,使用下面的代码可以对训练以及评估进行可视化,下面有对应的参数名称:

loss,mean_absolute_error,val_loss,val_mean_absolute_error

import pandas as pd
import matplotlib.pyplot as plt
import argparse
import os
import numpy as np

def get_args():
 parser = argparse.ArgumentParser(description="This script shows training graph from history file.")
 parser.add_argument("--input", "-i", type=str, required=True,
      help="path to input history h5 file")
 args = parser.parse_args()
 return args

def main():
 args = get_args()
 input_path = args.input

 df = pd.read_hdf(input_path, "history")
 print(np.min(df['val_mean_absolute_error']))
 input_dir = os.path.dirname(input_path)
 plt.plot(df["loss"], '-o', label="loss (age)", linewidth=2.0)
 plt.plot(df["val_loss"], '-o', label="val_loss (age)", linewidth=2.0)
 plt.xlabel("Number of epochs", fontsize=20)
 plt.ylabel("Loss", fontsize=20)
 plt.legend()
 plt.grid()
 plt.savefig(os.path.join(input_dir, "loss.pdf"), bbox_inches='tight', pad_inches=0)
 plt.cla()

 plt.plot(df["mean_absolute_error"], '-o', label="training", linewidth=2.0)
 plt.plot(df["val_mean_absolute_error"], '-o', label="validation", linewidth=2.0)
 ax = plt.gca()
 ax.set_ylim([2,13])
 ax.set_aspect(0.6/ax.get_data_ratio())
 plt.xticks(fontsize=20)
 plt.yticks(fontsize=20)
 plt.xlabel("Number of epochs", fontsize=20)
 plt.ylabel("Mean absolute error", fontsize=20)
 plt.legend(fontsize=20)
 plt.grid()
 plt.savefig(os.path.join(input_dir, "performance.pdf"), bbox_inches='tight', pad_inches=0)

if __name__ == '__main__':
 main()

以上这篇在keras中实现查看其训练loss值就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python33 urllib2使用方法细节讲解
Dec 03 Python
linux环境下python中MySQLdb模块的安装方法
Jun 16 Python
对python中的pop函数和append函数详解
May 04 Python
Pycharm设置界面全黑的方法
May 23 Python
python使用turtle库与random库绘制雪花
Jun 22 Python
Python判断以什么结尾以什么开头的实例
Oct 27 Python
Python3利用Dlib实现摄像头实时人脸检测和平铺显示示例
Feb 21 Python
django admin.py 外键,反向查询的实例
Jul 26 Python
tensor和numpy的互相转换的实现示例
Aug 02 Python
python爬虫爬取图片的简单代码
Jan 18 Python
python设置 matplotlib 正确显示中文的四种方式
May 10 Python
Python初识逻辑与if语句及用法大全
Aug 07 Python
安装python3.7编译器后如何正确安装opnecv的方法详解
Jun 16 #Python
Keras在训练期间可视化训练误差和测试误差实例
Jun 16 #Python
如何在Windows中安装多个python解释器
Jun 16 #Python
使用pyplot.matshow()函数添加绘图标题
Jun 16 #Python
浅谈matplotlib中FigureCanvasXAgg的用法
Jun 16 #Python
利用Python实现Excel的文件间的数据匹配功能
Jun 16 #Python
Pytorch 使用CNN图像分类的实现
Jun 16 #Python
You might like
PHP入门之常量简介和系统常量
2014/05/12 PHP
php实现的zip文件内容比较类
2014/09/24 PHP
thinkphp3.x连接mysql数据库的方法(具体操作步骤)
2016/05/19 PHP
php使用glob函数遍历文件和目录详解
2016/09/23 PHP
javascript下function声明一些小结
2007/12/28 Javascript
JQuery Ajax通过Handler访问外部XML数据的代码
2010/06/01 Javascript
最新的10款jQuery内容滑块插件分享
2011/09/18 Javascript
js面向对象设计用{}好还是function(){}好(构造函数)
2011/10/23 Javascript
javascript实现日历控件(年月日关闭按钮)
2012/12/12 Javascript
js下将阿拉伯数字每三位一逗号分隔(如:15000000转化为15,000,000)
2014/06/02 Javascript
javascript原生和jquery库实现iframe自适应高度和宽度
2014/07/18 Javascript
jQuery中delegate()方法用法实例
2015/01/19 Javascript
jquery实现页面关键词高亮显示的方法
2015/03/12 Javascript
js数组去重的方法汇总
2015/07/29 Javascript
Angular.js中用ng-repeat-start实现自定义显示
2016/10/18 Javascript
薪资那么高的Web前端必看书单
2017/10/13 Javascript
详解Vue2 SSR 缓存 Api 数据
2017/11/20 Javascript
angular5 httpclient的示例实战
2018/03/12 Javascript
小程序图片剪裁加旋转的示例代码
2018/07/10 Javascript
vue keep-alive列表页缓存 详情页返回上一页不刷新,定位到之前位置
2019/11/26 Javascript
ES6 Object.assign()的用法及其使用
2020/01/18 Javascript
JS相册图片抖动放大展示效果的示例代码
2021/01/29 Javascript
python并发编程之线程实例解析
2017/12/27 Python
pyshp创建shp点文件的方法
2018/12/31 Python
django之自定义软删除Model的方法
2019/08/14 Python
python爬虫 正则表达式解析
2019/09/28 Python
Python表达式的优先级详解
2020/02/18 Python
python使用Thread的setDaemon启动后台线程教程
2020/04/25 Python
Python爬虫+Tkinter制作一个翻译软件的示例
2021/02/20 Python
美国运动鞋和运动服零售商:Footaction
2017/04/07 全球购物
夜大毕业生自我鉴定
2013/10/31 职场文书
室内设计专业学生的自我评价分享
2013/11/27 职场文书
班主任新年寄语
2014/04/04 职场文书
服装设计专业求职信
2014/06/16 职场文书
小学教师师德师风个人整改措施
2014/09/18 职场文书
2014财务年终工作总结
2014/12/08 职场文书