当前位置:   article > 正文

【深度学习】通过python画出loss曲线_python logger 损失值曲线

python logger 损失值曲线

将训练过程中的running loss保存到文件

for x in range(100):
    with open('loss_records.txt', 'a') as f:
        f.write('%d %.3f\n' % (x, x + 1))

    with open('accurate_records.txt', 'a') as f:
        f.write('%d %.3f\n' % (x, x + 10))

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

注意:
模式:a
打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

1.读取txt文件

现在有两个模型训练结果的records.txt文件

import matplotlib.pyplot as plt
import numpy as np

data1_loss = np.loadtxt("accurate_records.txt")
data2_loss = np.loadtxt("loss_records.txt")
  • 1
  • 2
  • 3
  • 4
  • 5

2.取出相应列的数据作为绘图的x和y

数据里第一列是训练步数,第二列的loss

x = data1_loss[:, 0]
y = data1_loss[:, 1]
x1 = data2_loss[:, 0]
y1 = data2_loss[:, 1]
  • 1
  • 2
  • 3
  • 4

3.先创建一幅图,再在这幅图上添加一个小图

fig = plt.figure(figsize=(7, 5))
ax1 = fig.add_subplot(1, 1, 1)  # ax1是子图的名字
  • 1
  • 2

4.画出整体的loss曲线

# "g"代表green,表示画出的曲线是绿色,"-"表示画出的曲线是实线,label表示图例的名称
plt.plot(x, y, 'r-', label=u'Dense_Unet')
plt.plot(x1, y1, 'b-', label=u'RCSCA_Net')
plt.legend()

plt.xlabel(u'iters')
plt.ylabel(u'loss')
plt.title('Compare loss for different models in training.')
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/635983
推荐阅读
相关标签
  

闽ICP备14008679号