这篇文章主要介绍怎么通过python画损失曲线,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
1。首先导入一python画些图的包,读取txt文件,假设我现在有两个模型训练结果的记录。txt文件
import numpy as np import matplotlib.pyplot  as plt import pylab  as pl 得到mpl_toolkits.axes_grid1.inset_locator import  inset_axes data1_loss =np.loadtxt (“valid_RCSCA_records.txt"), 时间=data2_loss np.loadtxt (“valid_SCRCA_records.txt")
2。我自己的数据第一列是训练步数,第二列的损失,所以取出相应列的数据作为绘图的x和y
x =, data1_loss (: 0) 时间=y data1_loss (: 1) 时间=x1 data2_loss (: 0) 时间=y1 data2_loss (: 1)
3。先创建一幅图,再在这幅图上添加一个小的图,小图用来显示部分放大的曲线
fig =, plt.figure (figsize =, (7, 5)),,,, # figsize是图片的大小的 ax1 =, fig.add_subplot (1, 1, 1), #, ax?是子图的名字”
4。先画出整体的损失曲线
pl.plot (x, y, & # 39; g & # 39;,标签=u # 39; Dense_Unet (block 层=5)& # 39;)” #,“& # 39;g”& # 39;代表“绿色”,表示画出的曲线是绿色,”——“代表画的曲线是实线,可自行选择,标签代表的是图例的名称,一般要在名称前面加一个u,如果名称是中文,会显示不出来,目前还不知道怎么解决。 p2 =, pl.plot (x1, y1, & # 39; r & # 39;,, label =, u # 39; RCSCA_Net& # 39;) pl.legend () #显示图例 时间=p3 pl.plot (x2, y2, & # 39; b & # 39;,, label =, u # 39; SCRCA_Net& # 39;) pl.legend () pl.xlabel (u # 39; iters& # 39;) pl.ylabel (u # 39;损失# 39;) plt.title (& # 39; Compare loss  for different models 拷贝培训& # 39;)
画出曲线如图:
#, plot 从而盒子 tx0 =0 tx1 =10000 #设置想放大区域的横坐标范围 ty0 0.000=, ty1 0.12=, #设置想放大区域的纵坐标范围 sx =, [tx0、tx1 tx1、tx0 tx0] 时间=sy [ty0 ty0, ty1, ty1, ty0] pl.plot (sx, sy,“purple") 时间=axins inset_axes (ax?,宽度=1.5,,身高=1.5,,loc=& # 39;对# 39;) # loc是设置小图的放置位置,可以有“lower 左,lower 右,upper 右,upper 左,upper #,中心,center ,左,右,center 右,lower 中心,center" axins.plot (x1, y1 ,,颜色=& # 39;红色# 39;,,ls=& # 39; & # 39;) axins.plot (x2, y2 ,,颜色=& # 39;蓝# 39;,,ls=& # 39; & # 39;) axins.axis ([0, 20000, 0.000, 0.12]) plt.savefig (“train_results_loss.png") pl.show # pl.show()也可以
以上是“怎么通过python画损失曲线”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!