码迷,mamicode.com
首页 > 编程语言 > 详细

python 画图像训练结果的loss图

时间:2019-06-02 16:26:01      阅读:367      评论:0      收藏:0      [点我收藏+]

标签:oss   string   ali   lin   end   highlight   label   ring   for   

得到每个epoch的loss和predict精度后,就可以愉快地画图直观地看出训练结果和收敛性了。

# coding:utf-8
import matplotlib.pyplot as plt

data_dir = "D:\\result.txt"
Train_Loss_list = []
Train_Accuracy_list = []
Valid_Loss_list = []
Valid_Accuracy_list = []
f1 = open(data_dir,‘r‘)
data = []
#把训练结果输出到result.txt里,比较笨的办法,按字节位数去取数字结果
for line in f1:
    if(line.find(‘train‘)>=0):
    # if (string.find(line, ‘train‘) != -1):
        Train_Loss_list.append(line[12:18])
        Train_Accuracy_list.append(line[24:30])
    if (line.find(‘valid‘) >= 0):
    # if (string.find(line, ‘valid‘) != -1):
        Valid_Loss_list.append(line[12:18])
        Valid_Accuracy_list.append(line[24:30])
f1.close()
#迭代了30次,所以x的取值范围为(0,30),然后再将每次相对应的准确率以及损失率附在x上
x1 = range(0, 30)
x2 = range(0, 30)
y1 = Train_Accuracy_list
y2 = Train_Loss_list
y3 = Valid_Accuracy_list
y4 = Valid_Loss_list
plt.subplot(2, 1, 1)
# plt.plot(x1, y1, ‘o-‘,color=‘r‘)
plt.plot(x1, y1, ‘o-‘,label="Train_Accuracy")
plt.plot(x1, y3, ‘o-‘,label="Valid_Accuracy")
plt.title(‘Test accuracy vs. epoches‘)
plt.ylabel(‘Test accuracy‘)
plt.legend(loc=‘best‘)
plt.subplot(2, 1, 2)
plt.plot(x2, y2, ‘.-‘,label="Train_Loss")
plt.plot(x2, y4, ‘.-‘,label="Valid_Loss")
plt.xlabel(‘Test loss vs. epoches‘)
plt.ylabel(‘Test loss‘)
plt.legend(loc=‘best‘)
plt.show()

  

技术图片

技术图片

 

python 画图像训练结果的loss图

标签:oss   string   ali   lin   end   highlight   label   ring   for   

原文地址:https://www.cnblogs.com/marszhw/p/10962903.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!