Python – 深度学习训练过程使用matplotlib.pyplot实时动态显示loss和acc曲线
本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:Python – 深度学习训练过程使用matplotlib.pyplot实时动态显示loss和acc曲线
原文链接:https://www.stubbornhuang.com/1445/
发布于:2021年07月19日 13:54:53
修改于:2021年07月20日 17:55:34

1 深度学习训练过程中实时动态显示loss和acc曲线
可参考代码如下:
# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
if __name__ == '__main__':
train_loss = 5
val_loss = 5
train_acc = 0.0
val_acc = 0.0
x = []
train_loss_list = []
val_loss_list = []
train_acc_list = []
val_acc_list = []
for epoch in range(200):
# 生成数据,此处应根据实际训练过程获取训练集loss和acc
# 以及验证集loss和acc
train_loss -= epoch * 0.1
val_loss -= epoch * 0.11
train_acc += epoch*0.01
val_acc += epoch*0.011
x.append(epoch)
train_loss_list.append(train_loss)
val_loss_list.append(val_loss)
train_acc_list.append(train_acc)
val_acc_list.append(val_acc)
plt.figure(figsize=(3, 6), dpi=100)
# 创建两行一列的图,并指定当前使用第一个图
plt.subplot(2, 1, 1)
try:
train_loss_lines.remove(train_loss_lines[0]) # 移除上一步曲线
val_loss_lines.remove(val_loss_lines[0])
except Exception:
pass
train_loss_lines = plt.plot(x, train_loss_list, 'r', lw=1) # lw为曲线宽度
val_loss_lines = plt.plot(x, val_loss_list, 'b', lw=1)
plt.title("loss")
plt.xlabel("epoch")
plt.ylabel("loss")
plt.legend(["train_loss",
"val_loss"])
# # 创建两行一列的图,并指定当前使用第二个图
plt.subplot(2, 1, 2)
try:
train_acc_lines.remove(train_acc_lines[0]) # 移除上一步曲线
val_acc_lines.remove(val_acc_lines[0])
except Exception:
pass
train_acc_lines = plt.plot(x, train_acc_list, 'r', lw=1) # lw为曲线宽度
val_acc_lines = plt.plot(x, val_acc_list, 'b', lw=1)
plt.title("acc")
plt.xlabel("epoch")
plt.ylabel("acc")
plt.legend(["train_acc",
"val_acc"])
plt.show()
plt.pause(0.1) # 图片停留0.1s
2 结果



当前分类随机文章推荐
- 解决Python爬虫在爬资源过程中使用urlretrieve函数下载文件不完全且避免下载时长过长陷入死循环,并在下载文件的过程中显示下载进度 阅读3872次,点赞0次
- Python - Linux/Centos/Ubuntu查看CUDA/cuDNN版本号 阅读3357次,点赞0次
- Python - 字典dict遍历方法总结 阅读516次,点赞0次
- Python - itertools.groupby使用详解 阅读667次,点赞1次
- Pytorch - 使用opencv-python解码视频文件并将视频帧转换为Pytorch tensor作为网络模型输入数据 阅读2315次,点赞0次
- Python - 在子线程中使用OpenCV异步读取摄像头视频帧传递到主线程中进行处理 阅读919次,点赞1次
- Python - list与字符串str相互转换方法总结 阅读554次,点赞0次
- Python - glob模块详解以及glob.glob、glob.iglob函数的使用 阅读944次,点赞0次
- Python - 使用flask_sockets库构建websocket服务器 阅读3093次,点赞0次
- Python - BeautifulSoup的find()和findAll() 阅读2714次,点赞0次
全站随机文章推荐
- Pytorch - pad_sequence、pack_padded_sequence、pack_sequence、pad_packed_sequence参数详解与使用 阅读789次,点赞0次
- 资源分享 - Efficient Illumination Algorithms for Global Illumination In Interactive and Real-Time Rendering英文PDF下载 阅读2476次,点赞0次
- 书籍翻译 - Cloth Simulation for Computer Graphics,Abstract中文翻译 阅读419次,点赞0次
- 资源分享 - Game Programming Gems 8 英文高清PDF下载 阅读2731次,点赞0次
- Python - 解决opencv-python使用cv2.imread()读取中文路径图片失败的问题 阅读985次,点赞1次
- 深度学习 - 归纳轻量级神经网络(长期更新) 阅读36次,点赞0次
- 深度学习 - 图像标准化与归一化方法 阅读466次,点赞0次
- 资源分享 - Game Programming Gems 7 英文高清PDF下载 阅读2814次,点赞0次
- 资源分享 - Vector Analysis for Computer Graphics , First Edition 英文高清PDF下载 阅读1084次,点赞0次
- Unity - Color32[]转为byte[]字节数组 阅读3206次,点赞1次
评论
167