如何通过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中lambda与def用法对比实例分析
Apr 30 Python
深入理解Python对Json的解析
Feb 14 Python
Python做智能家居温湿度报警系统
Sep 25 Python
基于Python实现定时自动给微信好友发送天气预报
Oct 25 Python
python pexpect ssh 远程登录服务器的方法
Feb 14 Python
Python 给屏幕打印信息加上颜色的实现方法
Apr 24 Python
将python运行结果保存至本地文件中的示例讲解
Jul 11 Python
django基础学习之send_mail功能
Aug 07 Python
学习Python列表的基础知识汇总
Mar 10 Python
Django 允许局域网中的机器访问你的主机操作
May 13 Python
Python调用Redis的示例代码
Nov 24 Python
Python爬虫框架之Scrapy中Spider的用法
Jun 28 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
做个自己站内搜索引擎
2006/10/09 PHP
PHP中创建空文件的代码[file_put_contents vs touch]
2012/01/20 PHP
浅析php面向对象public private protected 访问修饰符
2013/06/30 PHP
php中getservbyport与getservbyname函数用法实例
2014/11/18 PHP
简单谈谈PHP中的include、include_once、require以及require_once语句
2016/04/23 PHP
js动态控制table的tr、td增加及删除的具体实现
2014/04/30 Javascript
JS实现当前页居中分页效果的方法
2015/06/18 Javascript
在jQuery中处理XML数据的大致方法
2015/08/14 Javascript
动态加载js、css的实例代码
2016/05/26 Javascript
javascript 常用验证函数总结
2016/06/28 Javascript
微信小程序 SocketIO 实例讲解
2016/10/13 Javascript
jQuery实现分页功能(含ajax请求、后台数据、附完整demo)
2017/04/03 jQuery
nodejs入门教程四:URL相关模块用法分析
2017/04/24 NodeJs
AngularJS ng-repeat指令及Ajax的应用实例分析
2017/07/06 Javascript
js实现鼠标单击Tab表单切换效果
2018/05/16 Javascript
vue-cli项目配置多环境的详细操作过程
2018/10/30 Javascript
详解bootstrap-fileinput文件上传控件的亲身实践
2019/03/21 Javascript
深入解析微信小程序开发中遇到的几个小问题
2020/07/11 Javascript
nginx配置域名后的二级目录访问不同项目的配置操作
2020/11/06 Javascript
Vue +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例
2020/11/18 Vue.js
[57:18]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#3VP VS VG
2016/03/03 DOTA
使用Python压缩和解压缩zip文件的教程
2015/05/06 Python
python如何实现excel数据添加到mongodb
2015/07/30 Python
Python IDE PyCharm的基本快捷键和配置简介
2015/11/04 Python
python原类、类的创建过程与方法详解
2019/07/19 Python
pytorch中的卷积和池化计算方式详解
2020/01/03 Python
python两种获取剪贴板内容的方法
2020/11/06 Python
解决Firefox下不支持outerHTML问题代码分享
2014/06/04 HTML / CSS
法学院方阵解说词
2014/01/29 职场文书
小学国庆节活动方案
2014/02/11 职场文书
考察现实表现材料
2014/05/19 职场文书
职务任命书范本
2014/06/05 职场文书
2015年转正工作总结范文
2015/04/02 职场文书
停电调休通知
2015/04/16 职场文书
雷锋之歌观后感
2015/06/10 职场文书
Django 如何实现文件上传下载
2021/04/08 Python