caffe 中 plot accuracy和loss, 並畫出網絡結構圖


plot accuracy + loss

詳情可見:http://www.2cto.com/kf/201612/575739.html

1. caffe保存訓練輸出到log 並繪制accuracy loss曲線:

之前已經編譯了matcaffe 和 pycaffe,caffe中其實已經自帶了這樣的小工具。caffe-master/tools/extra/parse_log.sh caffe-master/tools/extra/extract_seconds.py和 caffe-master/tools/extra/plot_training_log.py.example;拷貝以上文件到當前工作目錄下: 

 

2.  保存輸出到log文件,更改腳本文件 train_caffenet.sh;在exampless/test 目錄下就會有一個log開頭的文件

#!/usr/bin/env sh
TOOLS=./build/tools
LOG=examples/cifar10/log_results/log- 'data +%Y-%m-%d-%H-%S' .log
$TOOLS/caffe train \
--solver=examples/cifar10/cifar10_quick_solver.prototxt -gpu all 2 >& 1 | tee $LOG
 
3.  解析log中的內容 分成train 和 test 會在當前文件夾下生成log-data.train 和 log-data.test兩個文件
$ ./parse_log.sh log-data 
 
4. 更改log-data的名字為log-data.log;備注:必須是.log后綴才能解析
$ mv log-data log-data.log
 
5. 調用py程序繪制圖形
$ ./plot_training_log.py.example 0 save.png log-data.log
 

其中0代表曲線類型, save.png 代表保存的圖片名稱 caffe中支持很多種曲線繪制,通過指定不同的類型參數即可,具體參數如下

Notes: 1. Supporting multiple logs.

2. Log file name must end with the lower-cased ".log".

Supported chart types: 0: Test accuracy vs. Iters

1: Test accuracy vs. Seconds

2: Test loss vs. Iters

3: Test loss vs. Seconds

4: Train learning rate vs. Iters

5: Train learning rate vs. Seconds

6: Train loss vs. Iters

 

畫出網絡結構圖

 1.  先安裝graphviz否則會出現類似:"dot" not found in path 的問題

  安裝graphviz不要用pip install安裝,否則還是會找不到可執行程序

  安裝:$ sudo apt-get insall graphviz

  然后安裝pydot:$ pip install pydot

  其中pyparsing會自動安裝

2.  進入 caff-root/python中,輸入即可

$ python draw_net.py --rankdir TB ../examples/cifar10/cifar10_quick_train_test.prototxt ../examples/cifar10/log_results/net.jpg

 
 
 


免責聲明!

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



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