如何通过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实现忽略大小写对字符串列表排序的方法
Sep 25 Python
python网络编程实例简析
Sep 26 Python
Python学习小技巧之列表项的推导式与过滤操作
May 20 Python
Sanic框架应用部署方法详解
Jul 18 Python
Python中flatten( )函数及函数用法详解
Nov 02 Python
python定时按日期备份MySQL数据并压缩
Apr 19 Python
实现Python与STM32通信方式
Dec 18 Python
python实现连连看游戏
Feb 14 Python
pytorch之Resize()函数具体使用详解
Feb 27 Python
Python Handler处理器和自定义Opener原理详解
Mar 05 Python
详解Python 实现 ZeroMQ 的三种基本工作模式
Mar 24 Python
python实现控制台输出彩色字体
Apr 05 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
mcrypt启用 加密以及解密过程详细解析
2013/08/07 PHP
php根据年月获取季度的方法
2014/03/31 PHP
php制作的简单验证码识别代码
2016/01/26 PHP
Javascript在IE下设置innerHTML时出现未知的运行时错误的解决方法
2011/01/12 Javascript
jquery二级导航内容均分的原理及实现
2013/08/13 Javascript
使用javascript为网页增加夜间模式
2014/01/26 Javascript
jquery原创弹出层折叠效果点击折叠弹出一个层
2014/03/12 Javascript
JavaScript动态创建div等元素实例讲解
2016/01/06 Javascript
分享12个实用的jQuery代码片段
2016/03/09 Javascript
jQuery中设置form表单中action值的实现方法
2016/05/25 Javascript
纯JS前端实现分页代码
2016/06/21 Javascript
javascript中活灵活现的Array对象详解
2016/11/30 Javascript
js仿京东轮播效果 选项卡套选项卡使用
2017/01/12 Javascript
微信小程序小组件 基于Canvas实现直播点赞气泡效果
2020/05/29 Javascript
在Web关闭页面时发送Ajax请求的实现方法
2019/03/07 Javascript
javascript读取本地文件和目录方法详解
2020/08/06 Javascript
pip 错误unused-command-line-argument-hard-error-in-future解决办法
2014/06/01 Python
Python代码调试的几种方法总结
2015/04/15 Python
python任务调度实例分析
2015/05/19 Python
python八大排序算法速度实例对比
2017/12/06 Python
Pycharm无法使用已经安装Selenium的解决方法
2018/10/13 Python
python 获取页面表格数据存放到csv中的方法
2018/12/26 Python
python opencv实现简易画图板
2020/08/27 Python
Ray-Ban雷朋瑞典官方网站:全球领先的太阳眼镜品牌
2019/08/22 全球购物
小学教师办公室制度
2014/02/03 职场文书
优秀学生干部先进事迹材料
2014/05/26 职场文书
学习焦裕禄同志为人民服务思想汇报
2014/09/10 职场文书
团队会宣传标语
2014/10/09 职场文书
同意迁入证明模板
2014/10/26 职场文书
求职信:会计求职的写作技巧
2019/04/24 职场文书
position:sticky 粘性定位的几种巧妙应用详解
2021/04/24 HTML / CSS
对PyTorch中inplace字段的全面理解
2021/05/22 Python
python 爬取吉首大学网站成绩单
2021/06/02 Python
MySQL 8.0 驱动与阿里druid版本兼容问题解决
2021/07/01 MySQL
Mysql表数据比较大情况下修改添加字段的方法实例
2022/06/28 MySQL
使用 CSS 构建强大且酷炫的粒子动画效果
2022/08/14 HTML / CSS