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