如何通过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 相关文章推荐
50行代码实现贪吃蛇(具体思路及代码)
Apr 27 Python
Python制作简单的网页爬虫
Nov 22 Python
python数据类型_字符串常用操作(详解)
May 30 Python
利用Python破解斗地主残局详解
Jun 30 Python
python实现五子棋小游戏
Mar 25 Python
python调用c++ ctype list传数组或者返回数组的方法
Feb 13 Python
python 实现提取log文件中的关键句子,并进行统计分析
Dec 24 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
Feb 07 Python
python获取linux系统信息的三种方法
Oct 14 Python
python 实用工具状态机transitions
Nov 21 Python
Pycharm配置autopep8实现流程解析
Nov 28 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常用代码
2006/11/23 PHP
php过滤危险html代码
2008/08/18 PHP
解析PHP中empty is_null和isset的测试
2013/06/29 PHP
对于PHP 5.4 你必须要知道的
2013/08/07 PHP
使用swoole扩展php websocket示例
2014/02/13 PHP
PHP模拟登陆163邮箱发邮件及获取通讯录列表的方法
2015/03/07 PHP
分享PHP源码批量抓取远程网页图片并保存到本地的实现方法
2015/12/01 PHP
php实现微信公众号创建自定义菜单功能的实例代码
2019/06/11 PHP
NiftyCube——轻松实现圆角边框
2007/02/20 Javascript
javascript removeChild 使用注意事项
2009/04/11 Javascript
jQuery的强大选择器小结
2009/12/27 Javascript
jquery URL参数判断,确定菜单样式
2010/05/31 Javascript
JSON语法五大要素图文介绍
2012/12/04 Javascript
JQuery动画与特效实例分析
2015/02/02 Javascript
JavaScript简单下拉菜单实例代码
2015/09/07 Javascript
jquery捕捉回车键及获取checkbox值与异步请求的方法
2015/12/24 Javascript
原生javascript实现分页效果
2017/04/21 Javascript
ExtJs整合Echarts的示例代码
2018/02/27 Javascript
vue 中动态绑定class 和 style的方法代码详解
2018/06/01 Javascript
vue2.0实现列表数据增加和删除
2020/06/17 Javascript
Javascript柯里化实现原理及作用解析
2020/10/22 Javascript
详解Python中内置的NotImplemented类型的用法
2015/03/31 Python
用Python编写生成树状结构的文件目录的脚本的教程
2015/05/04 Python
Python实现提取谷歌音乐搜索结果的方法
2015/07/10 Python
Python实现的建造者模式示例
2018/08/06 Python
python中partial()基础用法说明
2018/12/30 Python
十行代码使用Python写一个USB病毒
2019/06/21 Python
Python打包工具PyInstaller的安装与pycharm配置支持PyInstaller详细方法
2020/02/27 Python
详解Python利用configparser对配置文件进行读写操作
2020/11/03 Python
ruby如何进行集成操作?Ruby能进行多重继承吗?
2013/10/16 面试题
会计电算化专业求职信
2014/06/10 职场文书
志愿者活动总结报告
2014/06/27 职场文书
酒店端午节活动方案
2014/08/26 职场文书
镇创先争优活动总结
2014/08/28 职场文书
Mysql基础之常见函数
2021/04/22 MySQL
10大幻兽系恶魔果实 蝙蝠果实上榜,第一自愈能力强
2022/03/18 日漫