如何通过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使用rsa加密算法模块模拟新浪微博登录
Jan 22 Python
Python运行报错UnicodeDecodeError的解决方法
Jun 07 Python
python装饰器-限制函数调用次数的方法(10s调用一次)
Apr 21 Python
Python实现查看系统启动项功能示例
May 10 Python
Python OpenCV实现视频分帧
Jun 01 Python
python批量图片处理简单示例
Aug 06 Python
python实现数据清洗(缺失值与异常值处理)
Dec 02 Python
jupyter lab文件导出/下载方式
Apr 22 Python
Python接口测试文件上传实例解析
May 22 Python
基于Python的接口自动化unittest测试框架和ddt数据驱动详解
Jan 27 Python
Python标准库之typing的用法(类型标注)
Jun 02 Python
Python实现仓库管理系统
May 30 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
PHP 万年历实现代码
2012/10/18 PHP
php实现分页工具类分享
2014/01/09 PHP
PHP弹出提示框并跳转到新页面即重定向到新页面
2014/01/24 PHP
php实现文件下载实例分享
2014/06/02 PHP
使用symfony命令创建项目的方法
2016/03/17 PHP
php打乱数组二维数组多维数组的简单实例
2016/06/17 PHP
TP5(thinkPHP框架)实现后台清除缓存功能示例
2019/05/29 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
Js动态创建div
2008/09/25 Javascript
给Flash加一个超链接(推荐使用透明层)兼容主流浏览器
2013/06/09 Javascript
javascript生成随机颜色示例代码
2014/05/05 Javascript
js判断移动端是否安装某款app的多种方法
2015/12/18 Javascript
Nodejs 发送Post请求功能(发短信验证码例子)
2017/02/09 NodeJs
bootstrap paginator分页前后台用法示例
2017/06/17 Javascript
vuejs项目打包之后的首屏加载优化及打包之后出现的问题
2018/04/01 Javascript
详解KOA2如何手写中间件(装饰器模式)
2018/10/11 Javascript
微信小程序使用swiper组件实现层叠轮播图
2018/11/04 Javascript
用node.js写一个jenkins发版脚本
2019/05/21 Javascript
JavaScript实现密码强度实时验证
2020/03/18 Javascript
15分钟上手vue3.0(小结)
2020/05/20 Javascript
python处理cookie详解
2014/02/07 Python
Python selenium 父子、兄弟、相邻节点定位方式详解
2016/09/15 Python
python3+selenium自动化测试框架详解
2019/03/17 Python
Django网络框架之创建虚拟开发环境操作示例
2019/06/06 Python
Python定时任务随机时间执行的实现方法
2019/08/14 Python
python常见字符串处理函数与用法汇总
2019/10/30 Python
tensorflow使用指定gpu的方法
2020/02/04 Python
Python字符串三种格式化输出
2020/09/17 Python
购买200个世界上最好的内衣品牌:Bare Necessities
2017/02/11 全球购物
vue+django实现下载文件的示例
2021/03/24 Vue.js
小学生自我评价范例
2013/09/24 职场文书
公务员的自我鉴定
2013/10/26 职场文书
品牌推广活动策划方案
2014/08/19 职场文书
高中议论文(范文2篇)
2019/08/19 职场文书
Python中zipfile压缩包模块的使用
2021/05/14 Python
详解thinkphp的Auth类认证
2021/05/28 PHP