faster RCNN的Python的画出来loss曲线图
来源:互联网 发布:qq抢红包软件 编辑:程序博客网 时间:2024/06/08 18:27
由于要写论文需要画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 pythonimport osimport sysimport numpy as npimport matplotlib.pyplot as pltimport mathimport reimport pylabfrom pylab import figure, show, legendfrom mpl_toolkits.axes_grid1 import host_subplot# read the log filefp = 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 labelshost.set_xlabel("iterations")host.set_ylabel("RPN loss")#par1.set_ylabel("validation accuracy")# plot curvesp1, = 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 colorhost.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 par1host.set_xlim([-1500,60000])host.set_ylim([0., 1.6])plt.draw()plt.show()
绘图结果
转载博客:http://m.blog.csdn.net/wxplol/article/details/73694657
- faster RCNN的Python的画出来loss曲线图
- Faster-Rcnn的loss曲线可视化
- faster-rcnn的记录
- faster rcnn的测试
- 学习Faster-RCNN (一)跑Faster-RCNN的python版demo
- Caffe如何画出训练中的loss曲线图和accuracy曲线图
- 关于python版本的Faster Rcnn的使用
- python画出来的电子时钟
- 从RCNN到Faster RCNN 的发展
- 将Faster RCNN的python demo改成C++ demo
- faster rcnn 训练自己的数据(python)
- faster rcnn 的重新训练
- faster-rcnn遇到的问题
- Faster RCNN的理解点
- faster RCNN 的细节理解
- Faster-RCNN遇到的问题
- Faster RCNN 的py-faster-rcnn详细配置安装过程
- 深度学习RCNN, Fast-RCNN, Faster-RCNN的一些事
- android之解析json
- linux-samba服务器配置
- hdu2031 进制转换(C语言)
- Sass开发注意点
- JavaSeript实现摄像头拍照预览
- faster RCNN的Python的画出来loss曲线图
- JFinal数据库连接及访问
- Linux常用命令
- Git相关知识(3)
- pyhton字符编码问题--decode和encode方法
- java-成员内部类
- libev源码解析——调度策略
- HDU-1079(博弈)
- 获取非行列样式