在keras中实现查看其训练loss值
作者:感到鸭力 发布时间:2021-03-05 05:29:44
标签:keras,训练,loss
想要查看每次训练模型后的 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()
来源:https://blog.csdn.net/qq_37640545/article/details/88979428
0
投稿
猜你喜欢
- python安装库的几种方法 在python项目开发的过程中,需要安装大大小小的库,本文会提供几种安装库的方法,总有
- 比如有一个需求,通过sql语句,返回-5至5的随机整数.如果这一个放在PHP中,则非常简单直接用print rand(-5,5);?>
- 将Timestamp转为datetime类型在Pandas中我们在处理时间序列的时候常用的方法有:pd.to_datetime()pd.da
- 安装pip install lazyprop例子1from lazyprop import lazypropclass Foo(object
- 虽然ting88没有注册的用户不能下载歌曲,但搞定它也非难事啊:)进入www.ting88.com的网站,把歌手专辑页面的URL复制到文本框
- import os,pandas as pd,re#1.获取文件夹下要合并的文件名dirpath = '文件夹地址'#工作表
- 最近打算在win系统下使用pycharm开发程序,并远程连接服务器调试程序,其中在import tensorflow时报错如图所示(在远程服
- 前言前面一直使用命令行运行pytest用例,本篇来学下使用pytest.main()来运行测试用例pytest.main()args 传一个
- 用途:图片经常使用onload来改变宽度,但这样会出现图片的闪烁,这个简单的类就是用来解决这个问题的。函数loadImage,用来加载图片,
- expand表示是否把series类型转化为DataFrame类型下面代码中的n表示去掉下划线"_"的数量代码如下:im
- Python学习第一篇。把之前学习的Python基础知识总结一下。一、认识Python首先我们得清楚这个:Python这个名字是从Monty
- BeautifulSoup简介Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据。官方解释如下:Beautif
- 最近在做编程练习,发现有些结果的值与答案相差较大,通过分析比较得出结论,大概过程如下:定义了一个计算损失的函数:def error(yhat
- 本文实例讲述了Python3对称加密算法AES、DES3。分享给大家供大家参考,具体如下:python3.6此库安装方式,需要pip3 in
- ASP访问数据库的方式有哪些?在ASP中可以通过三种方式访问数据库:1、IDC(Internet Database Connec
- 本文实例讲述了Python 网络编程之UDP发送接收数据功能。分享给大家供大家参考,具体如下:demo.py(UDP发送数据):import
- 这些帖子将分为三个部分。1.密码验证功能2.重构密码验证函数3.对密码验证功能进行单元测试这是Python系列中自定义密码验证的第三部分,也
- 爬取流程(美食区最热标签下的三个视频)在首页获取视频的编号和名字拼接成正确的url保存视频思路1.从网页中获取视频的url发现视频的url在
- 1、捕获摄像头和实时显示import cv2import numpy as npimport pickleimport matplotlib
- 知道两点坐标,怎么计算两点方向的方位角?答:首先计算坐标增量dx,dy(两个对应坐标分量相减,终点的减始点的)。若dx,dy中有一个为零时,