生活随笔
收集整理的這篇文章主要介紹了
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就行
[python] view plaincopy
??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??????fp?=?open('2.txt',?'r')????train_iterations?=?[]??train_loss?=?[]??test_iterations?=?[]??????for?ln?in?fp:????????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)???????host.set_xlabel("iterations")??host.set_ylabel("RPN?loss")????????p1,?=?host.plot(train_iterations,?train_loss,?label="train?RPN?loss")????????????host.legend(loc=1)??????host.axis["left"].label.set_color(p1.get_color())??????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曲线可视化的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。