如何通过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 相关文章推荐
使用url_helper简化Python中Django框架的url配置教程
May 30 Python
python字符串编码识别模块chardet简单应用
Jun 15 Python
深入分析python数据挖掘 Json结构分析
Apr 21 Python
Python打开文件,将list、numpy数组内容写入txt文件中的方法
Oct 26 Python
Python产生一个数值范围内的不重复的随机数的实现方法
Aug 21 Python
python add_argument()用法解析
Jan 29 Python
TensorBoard 计算图的可视化实现
Feb 15 Python
django中的数据库迁移的实现
Mar 16 Python
virtualenv介绍及简明教程
Jun 23 Python
pycharm 代码自动补全的实现方法(图文)
Sep 18 Python
Python数据可视化之用Matplotlib绘制常用图形
Jun 03 Python
python基础之函数的定义和调用
Oct 24 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个人网站架设连环讲(一)
2006/10/09 PHP
php类声明和php类使用方法示例分享
2014/03/29 PHP
php绘制一条弧线的方法
2015/01/24 PHP
php字符串函数学习之substr()
2015/03/27 PHP
简单实用的反馈表单无刷新提交带验证
2013/11/15 Javascript
Js类的静态方法与实例方法区分及jQuery拓展的两种方法
2016/06/03 Javascript
JS实现淡入淡出图片效果的方法分析
2016/12/20 Javascript
详解angularJS自定义指令间的相互交互
2017/07/05 Javascript
easyui-datagrid开发实践(总结)
2017/08/02 Javascript
微信小程序开发背景图显示功能
2018/08/08 Javascript
浅谈Vue项目骨架屏注入实践
2019/08/05 Javascript
[04:38]完美世界携手游戏风云打造 卡尔工作室饰品系统篇
2013/04/25 DOTA
python装饰器使用方法实例
2013/11/21 Python
python实现排序算法
2014/02/14 Python
Python subprocess模块学习总结
2014/03/13 Python
Python读取网页内容的方法
2015/07/30 Python
python 的列表遍历删除实现代码
2020/04/12 Python
Python基于pygame实现图片代替鼠标移动效果
2015/11/11 Python
Python卸载模块的方法汇总
2016/06/07 Python
使用Numpy读取CSV文件,并进行行列删除的操作方法
2018/07/04 Python
python爬虫自动创建文件夹的功能
2018/08/01 Python
Python 如何提高元组的可读性
2019/08/26 Python
python针对Oracle常见查询操作实例分析
2020/04/30 Python
Python实现读取并写入Excel文件过程解析
2020/05/27 Python
查看keras各种网络结构各层的名字方式
2020/06/11 Python
医院护士的求职信
2014/01/03 职场文书
学期研究性学习个人的自我评价
2014/01/09 职场文书
社区活动邀请函范文
2014/01/29 职场文书
借款协议书范本
2014/04/22 职场文书
《美丽的丹顶鹤》教学反思
2014/04/22 职场文书
学校节能减排倡议书
2014/05/16 职场文书
初中生散播谣言检讨书
2014/11/17 职场文书
幼儿园小班工作总结2015
2015/04/25 职场文书
新年晚会开场白
2015/05/29 职场文书
新娘婚礼致辞
2015/07/27 职场文书
利用js实现简单开关灯代码
2021/11/23 Javascript