如何通过python画loss曲线的方法


Posted in Python onJune 26, 2019

1. 首先导入一些python画图的包,读取txt文件,假设我现在有两个模型训练结果的records.txt文件

import numpy as np
import matplotlib.pyplot as plt
import pylab as pl
from 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. 我自己的数据第一列是训练步数,第二列的loss,所以取出相应列的数据作为绘图的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) # ax1是子图的名字`

4. 先画出整体的loss曲线

pl.plot(x,y,'g-',label=u'Dense_Unet(block layer=5)')`
# ‘'g‘'代表“green”,表示画出的曲线是绿色,“-”代表画的曲线是实线,可自行选择,label代表的是图例的名称,一般要在名称前面加一个u,如果名称是中文,会显示不出来,目前还不知道怎么解决。
p2 = pl.plot(x1, y1,'r-', label = u'RCSCA_Net')
pl.legend()
#显示图例
p3 = pl.plot(x2,y2, 'b-', label = u'SCRCA_Net')
pl.legend()
pl.xlabel(u'iters')
pl.ylabel(u'loss')
plt.title('Compare loss for different models in training')

画出曲线如图:

如何通过python画loss曲线的方法

5. 显示放大的部分曲线

# plot the box
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(ax1, width=1.5, height=1.5, loc='right')
#loc是设置小图的放置位置,可以有"lower left,lower right,upper right,upper left,upper #,center,center left,right,center right,lower center,center"
axins.plot(x1,y1 , color='red', ls='-')
axins.plot(x2,y2 , color='blue', ls='-')
axins.axis([0,20000,0.000,0.12])
plt.savefig("train_results_loss.png")
pl.show
#pl.show()也可以

如何通过python画loss曲线的方法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的Flask框架中实现简单的登录功能的教程
Apr 20 Python
python类的方法属性与方法属性的动态绑定代码详解
Dec 27 Python
Python django使用多进程连接mysql错误的解决方法
Oct 08 Python
python用fsolve、leastsq对非线性方程组求解
Dec 15 Python
利用Python+阿里云实现DDNS动态域名解析的方法
Apr 01 Python
11个Python3字典内置方法大全与示例汇总
May 13 Python
解决Python3 控制台输出InsecureRequestWarning问题
Jul 15 Python
python实现桌面托盘气泡提示
Jul 29 Python
详解Python3 中的字符串格式化语法
Jan 15 Python
使用 Python 在京东上抢口罩的思路详解
Feb 27 Python
PyCharm2020.1.1与Python3.7.7的安装教程图文详解
Aug 07 Python
Python 类,对象,数据分类,函数参数传递详解
Sep 25 Python
python and or用法详解
Jun 26 #Python
python覆盖写入,追加写入的实例
Jun 26 #Python
通过cmd进入python的实例操作
Jun 26 #Python
python实现比较类的两个instance(对象)是否相等的方法分析
Jun 26 #Python
Python实现的ftp服务器功能详解【附源码下载】
Jun 26 #Python
利用python numpy+matplotlib绘制股票k线图的方法
Jun 26 #Python
python读csv文件时指定行为表头或无表头的方法
Jun 26 #Python
You might like
利用js调用后台php进行数据处理原码
2006/10/09 PHP
请php正则走开
2008/03/15 PHP
php在文件指定行中写入代码的方法
2012/05/23 PHP
PHP过滤黑名单关键字的方法
2014/12/01 PHP
PHP实现的XML操作类【XML Library】
2016/12/29 PHP
php输出含有“#”字符串的方法
2017/01/18 PHP
javascript 写类方式之八
2009/07/05 Javascript
javascript 不间断的图片滚动并可点击
2010/01/15 Javascript
javascript 得到变量类型的函数
2010/05/19 Javascript
javascript制作loading动画效果 loading效果
2014/01/14 Javascript
浅谈JavaScript字符集
2014/05/22 Javascript
DOM基础教程之使用DOM控制表单
2015/01/20 Javascript
jquery手风琴特效插件
2015/02/04 Javascript
微信小程序 数据封装,参数传值等经验分享
2017/01/09 Javascript
js遍历json的key和value的实例
2017/01/22 Javascript
js实现下拉菜单效果
2017/03/01 Javascript
Angularjs的启动过程分析
2017/07/18 Javascript
node.js爬取中关村的在线电瓶车信息
2018/11/13 Javascript
深入浅析Vue.js 中的 v-for 列表渲染指令
2018/11/19 Javascript
vue radio单选框,获取当前项(每一项)的value值操作
2020/09/10 Javascript
[53:50]CHAOS vs Mineski 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
遗传算法之Python实现代码
2017/10/10 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧(自定义信号与槽)详解与实例
2020/03/06 Python
Python run()函数和start()函数的比较和差别介绍
2020/05/03 Python
python的launcher用法知识点总结
2020/08/07 Python
python对批量WAV音频进行等长分割的方法实现
2020/09/25 Python
详解HTML5将footer置于页面最底部的方法(CSS+JS)
2018/10/11 HTML / CSS
Debenhams百货英国官方网站:Debenhams UK
2016/07/12 全球购物
幼儿园教师工作感言
2014/02/15 职场文书
中专生毕业个人鉴定
2014/02/26 职场文书
运输服务质量承诺书
2014/03/27 职场文书
化工操作工岗位职责
2014/04/29 职场文书
出租车拒载检讨书
2015/01/28 职场文书
保研专家推荐信范文
2015/03/25 职场文书
党风廉洁教育心得体会
2016/01/20 职场文书
新手开公司创业注意事项有哪些?
2019/07/29 职场文书