如何通过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中正则表达式的用法实例汇总
Aug 18 Python
Python解决八皇后问题示例
Apr 22 Python
python实现自动网页截图并裁剪图片
Jul 30 Python
python 随机生成10位数密码的实现代码
Jun 27 Python
python爬虫 urllib模块反爬虫机制UA详解
Aug 20 Python
python异常处理try except过程解析
Feb 03 Python
Python发送手机动态验证码代码实例
Feb 28 Python
Python Django2 model 查询介绍(条件、范围、模糊查询)
Mar 16 Python
浅谈keras中的目标函数和优化函数MSE用法
Jun 10 Python
python批量修改交换机密码的示例
Sep 22 Python
python中numpy.empty()函数实例讲解
Feb 05 Python
Python之Matplotlib绘制热力图和面积图
Apr 13 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/11/25 PHP
PHP的password_hash()使用实例
2014/03/17 PHP
php实现模拟post请求用法实例
2015/07/11 PHP
PHP数组实例详解
2016/06/26 PHP
浅谈PHP中的Trait使用方法
2019/03/22 PHP
使用tp框架和SQL语句查询数据表中的某字段包含某值
2019/10/18 PHP
js 居中漂浮广告
2010/03/21 Javascript
JavaScript异步编程:异步数据收集的具体方法
2013/08/19 Javascript
如何在JavaScript中实现私有属性的写类方式(一)
2013/12/04 Javascript
JS实现仿百度输入框自动匹配功能的示例代码
2014/02/19 Javascript
jQuery获取(选中)单选,复选框,下拉框中的值
2014/02/21 Javascript
jquery比较简洁的软键盘特效实现方法
2015/03/19 Javascript
JS实现自定义简单网页软键盘效果代码
2015/11/05 Javascript
javascript中闭包(Closure)详解
2016/01/06 Javascript
Node.js重新刷新session过期时间的方法
2016/02/04 Javascript
jQuery解析XML 详解及方法总结
2016/09/28 Javascript
jQuery EasyUI之验证框validatebox实例详解
2017/04/10 jQuery
Vue.js使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用
2017/05/10 Javascript
JS设计模式之惰性模式(二)
2017/09/29 Javascript
微信小程序 可搜索的地址选择实现详解
2019/08/28 Javascript
node.js中 mysql 增删改查操作及async,await处理实例分析
2020/02/11 Javascript
python装饰器decorator介绍
2014/11/21 Python
Python多线程编程(五):死锁的形成
2015/04/05 Python
用Python写冒泡排序代码
2016/04/12 Python
Python 爬虫多线程详解及实例代码
2016/10/08 Python
澳大利亚排名第一的狂热牛仔品牌:ONETEASPOON
2018/11/20 全球购物
车间主管岗位职责
2013/11/14 职场文书
企业消防安全制度
2014/02/02 职场文书
活动倡议书范文
2014/05/13 职场文书
三严三实心得体会范文
2014/10/13 职场文书
影视后期实训报告
2014/11/05 职场文书
部队个人年终总结
2015/03/02 职场文书
2015年乡镇统计工作总结
2015/04/22 职场文书
写给老师的保证书
2015/05/09 职场文书
2015年底工作总结范文
2015/05/15 职场文书
2019班干部竞选演讲稿范本!
2019/07/08 职场文书