caffe自帶畫圖工具的一些問題
用caffe自帶的畫圖工具,對訓練日誌進行視覺化遇到了一些問題,記錄一下。
說一下我的情況。參考這篇部落格的方法:http://blog.csdn.net/u013078356/article/details/51154847
1、把這三個檔案:
caffe-master/tools/extra/parse_log.sh
caffe-master/tools/extra/extract_seconds.py
master/tools/extra/plot_training_log.py.example
拷貝到日誌路徑下。
2、
執行 ./parse_log.sh mylog.log
3、
執行 ./plot_training_log.py.example 0 save.png mylog.log
- 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
- 7: Train loss vs. Seconds
說一下我的問題,我用的SSD環境訓練的模型,日誌輸出不用額外加命令,訓練過程中的輸出日誌會儲存在jog資料夾下。
按照以上步驟我執行了1、2.都沒什麼問題。
訓練過程中,輸出的日誌,可以正常用0 1 這兩個引數畫圖 其他的引數用不了,
報錯:Traceback (most recent call last):
File "./plot_training_log.py", line 191, in <module>
plot_chart(chart_type, path_to_png, path_to_logs)
File "./plot_training_log.py", line 117, in plot_chart
data = load_data(data_file, x, y)
File "./plot_training_log.py", line 88, in load_data
data[1].append(float(fields[field_idx1].strip()))
IndexError: list index out of range
這個問題暫時還沒解決。
訓練完成時,這個日誌正常輸出結束,結果連0 1 這兩個引數也沒法畫圖了
報同樣的類似錯誤。
查了一下是因為我的學習率策略是用的multi_step。所以在設定的stepvalue的地方訓練日誌裡會輸出一句
I0810 22:19:02.672968 9663 sgd_solver.cpp:47] MultiStep Status: Iteration 10000, step = 1 緊跟著這一句下面是正常的日誌輸出 I0810 22:19:02.672971 9663 sgd_solver.cpp:138] Iteration 10000, lr = 2e-05 所以問題就在這裡,需要把所有你設定stepvalue的地方那裡輸出的這條刪掉,都刪掉以後0 1 6 7這兩個引數就可以畫圖了,但是其他引數還是不能用,估計也是日誌哪裡出了問題MultiStep Status: Iteration 10000, step = 1
好吧,尷尬了,查看了一下my.log.test裡面都沒有Test loss 的資料所以引數為2 3的沒法畫圖 引數4 5 沒法畫是因為my.log.train裡面的 學習率名字是LearningRate而不是 Train learning rate所以也沒法找到資料畫圖