caffe繪制訓練過程的loss和accuracy曲線


參考博文:http://blog.csdn.net/u013078356/article/details/51154847 
在使用caffe訓練數據,迭代次數非常大的時候,難免會想圖形化展示實驗結果。這樣即便於訓練過程中參數的調整,也便於最后成果的展示。

0. 需要的文件:

1 caffe/tools/extra/parse_log.sh  
2 caffe/tools/extra/extract_seconds.py
3 caffe/tools/extra/plot_training_log.py.example 

1. 記錄訓練日志:

方法一:

1 GLOG_logtostderr=0 GLOG_log_dir=Vgg-face/codes/Log/ \  
2 ./build/tools/caffe train \  
3   --solver=Vgg-face/codes/solver.prototxt

注意:

  • 在目錄下新建文件夾Log
  • 去掉通常腳本里面開頭的#!usr/bin/env sh 否則Log文件夾里面啥都不會出現

方法二:

1 #!/bin/bash
2 LOG=Vgg-face/Log/train-`date +%Y-%m-%d-%H-%M-%S`.log
3 ./build/tools/caffe train \
4     --solver=Vgg-face/codes/solver.prototxt --gpu=0 2>&1 | tee $LOG

注意:

  • 在目錄下新建文件夾Log

此時將出現的文件名改為my.log 或者自己喜歡的名字,這個名字會出現在最后得到的圖片里面。

2. 解析訓練日志:

將開頭提到的三個文件拷貝到Log文件夾里面。

1 ./parse_log.sh my.log  

注意:

  • 參考博文的博主提到的 ./parse_log.sh caffe.wujiyang-ubuntu.wujiyang.log 
    中的  caffe.  是所生成文件的文件名的一部分,不叫這個名字的童鞋,千萬別在自己文件名前面➕ caffe. 不然會報錯。

此時會出現 my.log.train 和 my.log.test 兩個文件,里面保存了提取出來的 seconds、loss、accuracy 信息。

3. 繪制圖片:

執行:

1 ./plot_training_log.py.example 0 save.png my.log 

也可以將 plot_training_log.py.example 改為 plot_training_log.py 

執行:

1 python plot_training_log.py 0 save.png my.log

其中:

  • 0 為曲線類型
  • save.png為保存圖片的文件名
  • my.log為上述所得日志

參數的含義: 

1 Supported chart types: 
2 0: Test accuracy vs. Iters 
3 1: Test accuracy vs. Seconds 
4 2: Test loss vs. Iters 
5 3: Test loss vs. Seconds 
6 4: Train learning rate vs. Iters 
7 5: Train learning rate vs. Seconds 
8 6: Train loss vs. Iters 
9 7: Train loss vs. Seconds 

4. 結果展示

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM