參考博文: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. 結果展示