由于要写论文需要画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就行

[python] view plaincopy
  1. #!/usr/bin/env python
  2. import os
  3. import sys
  4. import numpy as np
  5. import matplotlib.pyplot as plt
  6. import math
  7. import re
  8. import pylab
  9. from pylab import figure, show, legend
  10. from mpl_toolkits.axes_grid1 import host_subplot
  11. # read the log file
  12. fp = open('2.txt', 'r')
  13. train_iterations = []
  14. train_loss = []
  15. test_iterations = []
  16. #test_accuracy = []
  17. for ln in fp:
  18. # get train_iterations and train_loss
  19. if '] Iteration ' in ln and 'loss = ' in ln:
  20. arr = re.findall(r'ion \b\d+\b,',ln)
  21. train_iterations.append(int(arr[0].strip(',')[4:]))
  22. train_loss.append(float(ln.strip().split(' = ')[-1]))
  23. fp.close()
  24. host = host_subplot(111)
  25. plt.subplots_adjust(right=0.8) # ajust the right boundary of the plot window
  26. #par1 = host.twinx()
  27. # set labels
  28. host.set_xlabel("iterations")
  29. host.set_ylabel("RPN loss")
  30. #par1.set_ylabel("validation accuracy")
  31. # plot curves
  32. p1, = host.plot(train_iterations, train_loss, label="train RPN loss")
  33. #p2, = par1.plot(test_iterations, test_accuracy, label="validation accuracy")
  34. # set location of the legend,
  35. # 1->rightup corner, 2->leftup corner, 3->leftdown corner
  36. # 4->rightdown corner, 5->rightmid ...
  37. host.legend(loc=1)
  38. # set label color
  39. host.axis["left"].label.set_color(p1.get_color())
  40. #par1.axis["right"].label.set_color(p2.get_color())
  41. # set the range of x axis of host and y axis of par1
  42. host.set_xlim([-1500,60000])
  43. host.set_ylim([0., 1.6])
  44. plt.draw()
  45. plt.show()

绘图结果

参考博客地址:

http://blog.csdn.net/YhL_Leo/article/details/51774966

Faster-Rcnn的loss曲线可视化相关推荐

  1. 用fast rcnn绘制loss曲线遇到的问题

    运行fast rcnn的train,会进入ipython,要先exit退出才能继续运行程序 绘制图像时,用了命令: ./tools/train_net.py --gpu 0 --solver mode ...

  2. Faster R-CNN画PR曲线

    参考:https://github.com/rbgirshick/py-faster-rcnn/issues/670 原地址https://blog.csdn.net/hongxingabc/arti ...

  3. faster rcnn第二阶段loss出现nan_利用Faster_Rcnn训练模型时出现的问题

    最近学习复现Faster_Rcnn,复现后用自己的数据集训练时出现以下的问题. 问题1:'NoneType' object has no attribute 'shape' 环境:python3.5 ...

  4. 里程碑式成果Faster RCNN复现难?我们试了一下 | 附完整代码

    作者 | 已退逼乎 来源 | 知乎 [导读]2019年以来,除各AI 大厂私有网络范围外,MaskRCNN,CascadeRCNN 成为了支撑很多业务得以开展的基础,而以 Faster RCNN 为基 ...

  5. 实例分割模型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 ...

  6. 实例分割模型Mask R-CNN详解:从R-CNN,Fast R-CNN,Faster R-CNN再到Mask R-CNN

    Mask R-CNN是ICCV 2017的best paper,彰显了机器学习计算机视觉领域在2017年的最新成果.在机器学习2017年的最新发展中,单任务的网络结构已经逐渐不再引人瞩目,取而代之的是 ...

  7. Caffe版Faster R-CNN可视化——网络模型,图像特征,Loss图,PR曲线

    可视化网络模型   Caffe目前有两种常用的可视化模型方式: 使用Netscope在线可视化 Caffe代码包内置的draw_net.py文件可以可视化网络模型 Netscope能可视化神经网络体系 ...

  8. Keras构建前馈神经网络并使用callbacks输出acc以及loss曲线(训练接、验证集)及效果可视化

    Keras构建前馈神经网络并使用callbacks输出acc以及loss曲线(训练接.验证集)及效果可视化 在每个training/epoch/batch结束时,如果我们想执行某些任务,例如模型缓存. ...

  9. Visdom数据可视化工具绘制Loss曲线

    目录 Visdom介绍 Loss可视化代码编写 视频链接 Visdom介绍 Visdom是FaceBook公司开发的一款开源数据可视化工具,以其简单易用的功能,很快成为PyTorch的一个数据可视化工 ...

最新文章

  1. 分享懒人张RDLC报表(四)
  2. Linux 系统之虚拟化部署
  3. 【SQL Server】阿里云CentOS安装SQL Server教程 含破解3.5G内存的限制、win端远程连接
  4. qt 设置按钮大小_Qt官方示例双向按钮
  5. SQLite事务与自增深度分析
  6. SQL优化之一则MySQL中的DELETE、UPDATE 子查询的锁机制失效案例
  7. 金山云肖江:5G推动智慧人居产业到达新高度
  8. qt分割获取文件路径(去文件名)
  9. 几种常用 JSON 库性能比较,看完你可以和老板装逼!
  10. getRequestDispatcher 和sendRedirect区别及路径问题
  11. CAPL学习之路-SOME/IP相关函数
  12. 计算机网络协议名词解析,网络协议名词解释
  13. 非线性最小二乘法拟合 matlab,最小二乘法拟合非线性函数及其Matlab/Excel 实现(转)...
  14. FreeWheel创始人/CTO于晶纯访谈:具备大局观方能洞若观火
  15. 极光短信验证码的集成过程
  16. 利用FTP将Linux文件备份到Windows
  17. 英文登录QQ账号 一个有趣的小知识
  18. python读取部分文件_Python文件读取部分,python,篇
  19. 吃肉的时候一桌人,洗碗的时候一个人,这个世界,总有一些没良心的人,吃肉的时候夸肉香,洗碗的时候嫌碗脏;
  20. python下载-Python中文版

热门文章

  1. boost::regex模块信用卡匹配相关的测试程序
  2. 使用 BOOST.ASSERT 机制替换库断言
  3. boost::dag_shortest_paths用法的测试程序
  4. DCMTK:类DcmOther64bitVeryLong的测试程序
  5. VTK:PolyData之GreedyTerrainDecimation
  6. VTK:绘图之LinePlot
  7. OpenCV通过维纳滤镜恢复散焦图像的实例(附完整代码)
  8. C语言从未排序的链接列表中删除重复项的算法(附完整源码)
  9. OpenGL Gouraud着色法的实例
  10. STL 里 resize 和 reserve 的区别