如何通过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中操作文件之truncate()方法的使用教程
May 25 Python
Python中http请求方法库汇总
Jan 06 Python
对python numpy数组中冒号的使用方法详解
Apr 17 Python
Python读取本地文件并解析网页元素的方法
May 21 Python
Django框架文件上传与自定义图片上传路径、上传文件名操作分析
May 10 Python
图文详解python安装Scrapy框架步骤
May 20 Python
django如何实现视图重定向
Jul 24 Python
对python中assert、isinstance的用法详解
Nov 27 Python
带你学习Python如何实现回归树模型
Jul 16 Python
详解用python -m http.server搭一个简易的本地局域网
Sep 24 Python
Python+Appium实现自动抢微信红包
May 21 Python
Pandas实现DataFrame的简单运算、统计与排序
Mar 31 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性能优化准备篇图解PEAR安装
2011/12/05 PHP
PHP、Java des加密解密实例
2015/04/27 PHP
Yii实现文章列表置顶功能示例
2016/10/18 PHP
PHP微商城开源代码实例
2019/03/27 PHP
PHP信号处理机制的操作代码讲解
2019/04/19 PHP
PHP实现简单用户登录界面
2019/10/23 PHP
巧妙破除网页右键禁用的十大绝招
2006/08/12 Javascript
flexigrid 类似ext grid的JS表格代码
2010/07/17 Javascript
一行代码实现纯数据json对象的深度克隆实现思路
2013/01/09 Javascript
jQuery 如何先创建、再修改、后添加DOM元素
2014/05/20 Javascript
jQuery异步提交表单的两种方式
2016/09/13 Javascript
javascript表单控件实例讲解
2016/09/13 Javascript
jQuery扩展+xml实现表单验证功能的方法
2016/12/25 Javascript
js最简单的双向绑定实例讲解
2018/01/02 Javascript
浅析node应用的timing-attack安全漏洞
2018/02/28 Javascript
在vue中使用公共过滤器filter的方法
2018/06/26 Javascript
react项目如何使用iconfont的方法步骤
2019/03/13 Javascript
简单实现节流函数和防抖函数过程解析
2019/10/08 Javascript
jquery选择器和属性对象的操作实例分析
2020/01/10 jQuery
[01:21]辉夜杯战队访谈宣传片—CDEC
2015/12/25 DOTA
Python tkinter模块中类继承的三种方式分析
2017/08/08 Python
python使用pil进行图像处理(等比例压缩、裁剪)实例代码
2017/12/11 Python
python+selenium实现QQ邮箱自动发送功能
2019/01/23 Python
python 爬虫百度地图的信息界面的实现方法
2019/10/27 Python
PyCharm上安装Package的实现(以pandas为例)
2020/09/18 Python
Spy++的使用方法及下载教程
2021/01/29 Python
Python 调用C++封装的进一步探索交流
2021/03/04 Python
NFL官方在线商店:NFLShop
2020/07/29 全球购物
说出ArrayList,Vector, LinkedList的存储性能和特性
2015/01/04 面试题
后勤自我鉴定
2013/10/13 职场文书
自动化专业毕业生自荐信
2013/11/01 职场文书
小学生读书感言
2014/02/12 职场文书
城市创卫标语
2014/06/17 职场文书
安全责任书模板
2014/07/22 职场文书
尼克胡哲观后感
2015/06/08 职场文书
《小摄影师》教学反思
2016/02/18 职场文书