Faster-Rcnn的loss曲线可视化
由于要写论文需要画loss曲线,查找网上的loss曲线可视化的方法发现大多数是基于Imagenat的一些方法,在运用到Faster-Rcnn上时没法用,本人不怎么会编写代码,所以想到能否用python直接写一个代码,读取txt然后画出来,参考大神们的博客,然后总和总算一下午时间,搞出来了,大牛们不要见笑。
首先,在训练Faster-Rcnn时会自己生成log文件,大概在/py-faster-rcnn/experiments/logs文件下,把他直接拿出来,放在任意位置即可,因为是txt格式,可以直接用,如果嫌麻烦重命名1.txt.接下来就是编写程序了
一下为log基本的格式
I0530 08:54:19.183091 10143 solver.cpp:229] Iteration 22000, loss = 0.173712
I0530 08:54:19.183137 10143 solver.cpp:245] Train net output #0: rpn_cls_loss = 0.101713 (* 1 = 0.101713 loss)
I0530 08:54:19.183145 10143 solver.cpp:245] Train net output #1: rpn_loss_bbox = 0.071999 (* 1 = 0.071999 loss)
I0530 08:54:19.183148 10143 sgd_solver.cpp:106] Iteration 22000, lr = 0.001
通过发现,我们只需获得 Iteration 和loss就行
- #!/usr/bin/env python
- import os
- import sys
- import numpy as np
- import matplotlib.pyplot as plt
- import math
- import re
- import pylab
- from pylab import figure, show, legend
- from mpl_toolkits.axes_grid1 import host_subplot
- # read the log file
- fp = open('2.txt', 'r')
- train_iterations = []
- train_loss = []
- test_iterations = []
- #test_accuracy = []
- for ln in fp:
- # get train_iterations and train_loss
- if '] Iteration ' in ln and 'loss = ' in ln:
- arr = re.findall(r'ion \b\d+\b,',ln)
- train_iterations.append(int(arr[0].strip(',')[4:]))
- train_loss.append(float(ln.strip().split(' = ')[-1]))
- fp.close()
- host = host_subplot(111)
- plt.subplots_adjust(right=0.8) # ajust the right boundary of the plot window
- #par1 = host.twinx()
- # set labels
- host.set_xlabel("iterations")
- host.set_ylabel("RPN loss")
- #par1.set_ylabel("validation accuracy")
- # plot curves
- p1, = host.plot(train_iterations, train_loss, label="train RPN loss")
- #p2, = par1.plot(test_iterations, test_accuracy, label="validation accuracy")
- # set location of the legend,
- # 1->rightup corner, 2->leftup corner, 3->leftdown corner
- # 4->rightdown corner, 5->rightmid ...
- host.legend(loc=1)
- # set label color
- host.axis["left"].label.set_color(p1.get_color())
- #par1.axis["right"].label.set_color(p2.get_color())
- # set the range of x axis of host and y axis of par1
- host.set_xlim([-1500,60000])
- host.set_ylim([0., 1.6])
- plt.draw()
- plt.show()
绘图结果
参考博客地址:
http://blog.csdn.net/YhL_Leo/article/details/51774966
Faster-Rcnn的loss曲线可视化相关推荐
- 用fast rcnn绘制loss曲线遇到的问题
运行fast rcnn的train,会进入ipython,要先exit退出才能继续运行程序 绘制图像时,用了命令: ./tools/train_net.py --gpu 0 --solver mode ...
- Faster R-CNN画PR曲线
参考:https://github.com/rbgirshick/py-faster-rcnn/issues/670 原地址https://blog.csdn.net/hongxingabc/arti ...
- faster rcnn第二阶段loss出现nan_利用Faster_Rcnn训练模型时出现的问题
最近学习复现Faster_Rcnn,复现后用自己的数据集训练时出现以下的问题. 问题1:'NoneType' object has no attribute 'shape' 环境:python3.5 ...
- 里程碑式成果Faster RCNN复现难?我们试了一下 | 附完整代码
作者 | 已退逼乎 来源 | 知乎 [导读]2019年以来,除各AI 大厂私有网络范围外,MaskRCNN,CascadeRCNN 成为了支撑很多业务得以开展的基础,而以 Faster RCNN 为基 ...
- 实例分割模型Mask R-CNN详解——从R-CNN,Fast R-CNN,Faster R-CNN再到Mask R-CNN
转载自 jiongnima 原文链接 https://blog.csdn.net/jiongnima/article/details/79094159 Mask R-CNN是ICCV 2017的bes ...
- 实例分割模型Mask R-CNN详解:从R-CNN,Fast R-CNN,Faster R-CNN再到Mask R-CNN
Mask R-CNN是ICCV 2017的best paper,彰显了机器学习计算机视觉领域在2017年的最新成果.在机器学习2017年的最新发展中,单任务的网络结构已经逐渐不再引人瞩目,取而代之的是 ...
- Caffe版Faster R-CNN可视化——网络模型,图像特征,Loss图,PR曲线
可视化网络模型 Caffe目前有两种常用的可视化模型方式: 使用Netscope在线可视化 Caffe代码包内置的draw_net.py文件可以可视化网络模型 Netscope能可视化神经网络体系 ...
- Keras构建前馈神经网络并使用callbacks输出acc以及loss曲线(训练接、验证集)及效果可视化
Keras构建前馈神经网络并使用callbacks输出acc以及loss曲线(训练接.验证集)及效果可视化 在每个training/epoch/batch结束时,如果我们想执行某些任务,例如模型缓存. ...
- Visdom数据可视化工具绘制Loss曲线
目录 Visdom介绍 Loss可视化代码编写 视频链接 Visdom介绍 Visdom是FaceBook公司开发的一款开源数据可视化工具,以其简单易用的功能,很快成为PyTorch的一个数据可视化工 ...
最新文章
- 分享懒人张RDLC报表(四)
- Linux 系统之虚拟化部署
- 【SQL Server】阿里云CentOS安装SQL Server教程 含破解3.5G内存的限制、win端远程连接
- qt 设置按钮大小_Qt官方示例双向按钮
- SQLite事务与自增深度分析
- SQL优化之一则MySQL中的DELETE、UPDATE 子查询的锁机制失效案例
- 金山云肖江:5G推动智慧人居产业到达新高度
- qt分割获取文件路径(去文件名)
- 几种常用 JSON 库性能比较,看完你可以和老板装逼!
- getRequestDispatcher 和sendRedirect区别及路径问题
- CAPL学习之路-SOME/IP相关函数
- 计算机网络协议名词解析,网络协议名词解释
- 非线性最小二乘法拟合 matlab,最小二乘法拟合非线性函数及其Matlab/Excel 实现(转)...
- FreeWheel创始人/CTO于晶纯访谈:具备大局观方能洞若观火
- 极光短信验证码的集成过程
- 利用FTP将Linux文件备份到Windows
- 英文登录QQ账号 一个有趣的小知识
- python读取部分文件_Python文件读取部分,python,篇
- 吃肉的时候一桌人,洗碗的时候一个人,这个世界,总有一些没良心的人,吃肉的时候夸肉香,洗碗的时候嫌碗脏;
- python下载-Python中文版
热门文章
- boost::regex模块信用卡匹配相关的测试程序
- 使用 BOOST.ASSERT 机制替换库断言
- boost::dag_shortest_paths用法的测试程序
- DCMTK:类DcmOther64bitVeryLong的测试程序
- VTK:PolyData之GreedyTerrainDecimation
- VTK:绘图之LinePlot
- OpenCV通过维纳滤镜恢复散焦图像的实例(附完整代码)
- C语言从未排序的链接列表中删除重复项的算法(附完整源码)
- OpenGL Gouraud着色法的实例
- STL 里 resize 和 reserve 的区别