如何通过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 28 Python
跟老齐学Python之玩转字符串(2)更新篇
Sep 28 Python
python实现ping的方法
Jul 06 Python
Python进阶篇之字典操作总结
Nov 16 Python
Python中struct模块对字节流/二进制流的操作教程
Jan 21 Python
python实现百万答题自动百度搜索答案
Jan 16 Python
Python cookbook(数据结构与算法)保存最后N个元素的方法
Feb 13 Python
python实现批量按比例缩放图片效果
Mar 30 Python
Python数据类型之String字符串实例详解
May 08 Python
python3实现单目标粒子群算法
Nov 14 Python
python如何安装下载后的模块
Jul 03 Python
教你怎么用python爬取爱奇艺热门电影
May 20 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边学边教》(02.Apache+PHP环境配置――下篇)
2006/12/13 PHP
php笔记之:初探PHPcms模块开发介绍
2013/04/26 PHP
yii的CURD操作实例详解
2014/12/04 PHP
php站内搜索关键词变亮的实现方法
2014/12/30 PHP
php curl上传、下载、https登陆实现代码
2017/07/23 PHP
基于Laravel 5.2 regex验证的正确写法
2019/09/29 PHP
jquery中的过滤操作详细解析
2013/12/02 Javascript
动态显示可输入的字数提示还可以输入的字数
2014/04/01 Javascript
一个简单的jQuery计算器实现了连续计算功能
2014/07/21 Javascript
使用javascript实现Iframe自适应高度
2014/12/24 Javascript
jQuery中replaceAll()方法用法实例
2015/01/16 Javascript
js动态切换图片的方法
2015/01/20 Javascript
用javascript实现自动输出网页文本
2015/07/30 Javascript
基于JavaScript实现一定时间后去执行一个函数
2015/12/14 Javascript
JavaScript实现九九乘法表的简单实例
2016/06/07 Javascript
EasyUI学习之Combobox级联下拉列表(2)
2016/12/29 Javascript
jQuery实现的仿百度,仿谷歌搜索下拉框效果示例
2016/12/30 Javascript
js实现登录与注册界面
2017/11/01 Javascript
详解bootstrap导航栏.nav与.navbar区别
2017/11/23 Javascript
jQuery插件Validation表单验证详解
2018/05/26 jQuery
Vue 路由 过渡动效 数据获取方法
2018/07/31 Javascript
JavaScript如何实现图片处理与合成
2020/05/29 Javascript
[54:54]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python处理PDF及生成多层PDF实例代码
2017/04/24 Python
Python动态语言与鸭子类型详解
2019/07/01 Python
Python with语句和过程抽取思想
2019/12/23 Python
python实现飞机大战项目
2020/03/11 Python
使用Django xadmin 实现修改时间选择器为不可输入状态
2020/03/30 Python
matplotlib源码解析标题实现(窗口标题,标题,子图标题不同之间的差异)
2021/02/22 Python
北欧最好的童装网上商店:Babyshop
2019/09/15 全球购物
声明struct x1 { . . . }; 和typedef struct { . . . }x2;有什么不同
2012/06/02 面试题
捐书活动总结
2014/05/04 职场文书
税务会计岗位职责
2015/04/02 职场文书
《灰雀》教学反思
2016/02/19 职场文书
2019年市场部个人述职报告(三篇)
2019/10/23 职场文书
java实现面板之间切换功能
2022/06/10 Java/Android