如何通过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编写批量卸载手机中安装的android应用脚本
Jul 21 Python
Python的Django框架中的表单处理示例
Jul 17 Python
python编程实现12306的一个小爬虫实例
Dec 27 Python
Python cookbook(数据结构与算法)在字典中将键映射到多个值上的方法
Feb 18 Python
python 匹配url中是否存在IP地址的方法
Jun 04 Python
python爬虫租房信息在地图上显示的方法
May 13 Python
Python实现蒙特卡洛算法小实验过程详解
Jul 12 Python
Python安装selenium包详细过程
Jul 23 Python
Python基于unittest实现测试用例执行
Nov 25 Python
快速创建python 虚拟环境
Nov 28 Python
使用pandas读取表格数据并进行单行数据拼接的详细教程
Mar 03 Python
Python Pygame实战之塔防游戏的实现
Mar 17 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
Terran历史背景
2020/03/14 星际争霸
如何正确理解PHP的错误信息
2006/10/09 PHP
Laravel 5框架学习之模型、控制器、视图基础流程
2015/04/08 PHP
PHP文件上传处理案例分析
2016/10/15 PHP
PHP实现小偷程序实例
2016/10/31 PHP
PHP堆栈调试操作简单示例
2018/06/15 PHP
动态加载iframe
2006/06/16 Javascript
解放web程序员的输入验证
2006/10/06 Javascript
解决FireFox下[使用event很麻烦]的问题
2006/11/26 Javascript
JavaScript 学习笔记一些小技巧
2010/03/28 Javascript
javascript如何实现360度全景照片问题汇总
2016/04/04 Javascript
JavaScript关于提高网站性能的几点建议(一)
2016/07/24 Javascript
Node.js使用orm2进行update操作时关联字段无法修改的解决方法
2017/06/13 Javascript
JS实现批量上传文件并显示进度功能
2017/06/27 Javascript
详解webpack自动生成html页面
2017/06/29 Javascript
vue element-ui读取pdf文件的方法
2019/11/26 Javascript
Python ORM框架SQLAlchemy学习笔记之数据添加和事务回滚介绍
2014/06/10 Python
Python lxml模块安装教程
2015/06/02 Python
python 用下标截取字符串的实例
2018/12/25 Python
使用PIL(Python-Imaging)反转图像的颜色方法
2019/01/24 Python
详解python pandas 分组统计的方法
2019/07/30 Python
Python:合并两个numpy矩阵的实现
2019/12/02 Python
Django ValuesQuerySet转json方式
2020/03/16 Python
iPython pylab模式启动方式
2020/04/24 Python
纯CSS3实现3D旋转书本效果
2016/03/21 HTML / CSS
意大利独特而优质的家居用品:Fazzini
2018/12/05 全球购物
40岁生日感言
2014/02/15 职场文书
人口与计划生育目标管理责任书
2014/07/29 职场文书
办理房产过户的委托书
2014/09/14 职场文书
镇班子对照检查材料思想汇报
2014/09/24 职场文书
综治维稳工作汇报
2014/10/27 职场文书
2019大学生实习报告
2019/06/21 职场文书
详解MindSpore自定义模型损失函数
2021/06/30 Python
笔记本自带的win11如何跳过联网激活?
2022/04/20 数码科技
Django框架中视图的用法
2022/06/10 Python
vscode内网访问服务器的方法
2022/06/28 Servers