def curve_painting(loss,dis):
#创建画布
plt.figure(figsize=(12,8),dpi=80) #figsize中 1个单位代表80个像素由 dpi设置
x = range(len(loss))
y = loss #[random.uniform(15,20) for i in x]
y1 = dis#[random.uniform(10,15) for i in x]
#plt.plot(x,y,label='epoch_mean_loss',color ='r')
plt.plot(x,y1,color ='g' , linestyle='-.' ,label = 'dis')
#显示图例
plt.legend()
#设置刻度及步长
z = range(40)
x_label = ['{}'.format(i) for i in x]
plt.xticks(x[::5] ,x_label[::5],rotation = 30) #rotation可以旋转
plt.ylim(0, 100)
#plt.yticks(z[::5])
#添加网格信息
plt.grid(True,linestyle = '--' , alpha = 0.5) #alpha透明度
#添加标题
plt.xlabel('Epoch')
plt.ylabel("val",size = 23)
plt.title("Curgve of _dis change with epoch")
plt.savefig('.test1.png')
plt.show()
with open("C:\\Users\JokerD\Desktop\\aaa\\heatmap_nodice.txt",'r' ,encoding='utf-8') as f :
#lines = [float(line.strip().split('loss:')[-1]) for line in f.readlines()]
lines = [line.strip() for line in f.readlines()]
loss =[]
dis = []
for line in lines:
if "average_loss" in line:
loss_s =line.split(" tensor(")[-1].split(", device='cuda:1")[0]
if 'e' in loss :
loss_s = float(loss_s.split('e')[0])*(0.1**int(loss_s.split('0')[-1]))
else:
loss_s = float(loss_s)
loss.append(loss_s)
if "average_dis" in line:
dis_d = dis.append( float(line.split(" tensor(")[-1].split(")")[0]))
for i in range(len(loss)):
print(loss[i],dis[i])
# lenth = len(lines)
curve_painting(loss,dis)
plt画图
最新推荐文章于 2023-05-30 15:50:56 发布