zoukankan      html  css  js  c++  java
  • python 画图像训练结果的loss图

    得到每个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()
    

      

    
    
  • 相关阅读:
    navicat 连接Oracle 报错 ORA-12514 TNS:listener does not currently know of service requested in connect descriptor
    centos 安装配置 redis
    ubuntu安装keras
    VB类似的InputBox为MFC
    WPF颜色选择器
    窗口样式
    IP地址、端口号、子网掩码提交表单库
    添加自定义对话框,您的应用程序
    在c#中使用异步等待构建响应式UI
    一个通用对话框
  • 原文地址:https://www.cnblogs.com/marszhw/p/10962903.html
Copyright © 2011-2022 走看看