在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 相关文章推荐
Python获取文件ssdeep值的方法
Oct 05 Python
深入理解python中的闭包和装饰器
Jun 12 Python
玩转python selenium鼠标键盘操作(ActionChains)
Apr 12 Python
Python安装lz4-0.10.1遇到的坑
May 20 Python
python后端接收前端回传的文件方法
Jan 02 Python
基于python if 判断选择结构的实例详解
May 06 Python
Django ImageFiled上传照片并显示的方法
Jul 28 Python
Python定时发送天气预报邮件代码实例
Sep 09 Python
python循环输出三角形图案的例子
Nov 22 Python
Python绘制三角函数图(sin\cos\tan)并标注特定范围的例子
Dec 04 Python
使用Pycharm在运行过程中,查看每个变量的操作(show variables)
Jun 08 Python
利用Python的folium包绘制城市道路图的实现示例
Aug 24 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 输出缓存详解
2009/06/20 PHP
解析dedeCMS验证码的实现代码
2013/06/07 PHP
使用PHP如何实现高效安全的ftp服务器(一)
2015/12/20 PHP
Yii2使用dropdownlist实现地区三级联动功能的方法
2016/07/18 PHP
PHP进制转换实例分析(2,8,16,36,64进制至10进制相互转换)
2017/02/04 PHP
jquery实现图片灯箱明暗的遮罩效果
2013/11/15 Javascript
理解javascript回调函数
2014/12/28 Javascript
JS实现的车标图片提示效果代码
2015/10/10 Javascript
Bootstrap学习系列之使用 Bootstrap Typeahead 组件实现百度下拉效果
2016/07/07 Javascript
nodejs的HTML分析利器node-jquery用法浅析
2016/11/08 NodeJs
纯JS实现图片验证码功能并兼容IE6-8(推荐)
2017/04/19 Javascript
浅谈Vuejs Prop基本用法
2017/08/17 Javascript
Node做中转服务器转发接口
2017/10/18 Javascript
分享vue.js devtools遇到一系列问题
2017/10/24 Javascript
基于dataset的使用和图片延时加载的实现方法
2017/12/11 Javascript
JavaScript ES6中的简写语法总结与使用技巧
2018/12/30 Javascript
Vue实现导航栏点击当前标签变色功能
2020/08/19 Javascript
15个简单的JS编码标准让你的代码更整洁(小结)
2020/07/16 Javascript
python通过openpyxl生成Excel文件的方法
2015/05/12 Python
python的scikit-learn将特征转成one-hot特征的方法
2018/07/10 Python
使用python实现男神女神颜值打分系统(推荐)
2019/10/31 Python
python模块hashlib(加密服务)知识点讲解
2019/11/25 Python
Python 利用Entrez库筛选下载PubMed文献摘要的示例
2020/11/24 Python
matplotlib绘制鼠标的十字光标的实现(自定义方式,官方实例)
2021/01/10 Python
css3使用animation属性实现炫酷效果(推荐)
2020/02/04 HTML / CSS
Bed Bath & Beyond加拿大官网:购买床上用品、浴巾、厨房电器等
2019/10/04 全球购物
Bath & Body Works阿联酋:在线购买沐浴和身体用品
2021/02/27 全球购物
车间班长岗位职责
2013/11/30 职场文书
优秀班主任申报材料
2014/12/16 职场文书
入党转正申请报告
2015/05/15 职场文书
2016领导干部廉洁从政心得体会
2016/01/19 职场文书
2016优秀毕业生个人事迹材料
2016/02/29 职场文书
小学生节约用水倡议书
2019/08/12 职场文书
Windows下使用Nginx+Tomcat做负载均衡的完整步骤
2021/03/31 Servers
缓存替换策略及应用(以Redis、InnoDB为例)
2021/07/25 Redis
使用Python开发贪吃蛇游戏 SnakeGame
2022/04/30 Python