在tensorflow中我们可以了利用tensorboard来绘制训练过程中的曲线等,对于caffe我们应该如何绘制呢
在caffe当中也有自带的绘制方法,caffe中工具的地址:caffe/tools/extra/parse_log.sh
caffe/tools/extra/extract_seconds.py和 caffe/tools/extra/plot_training_log.py.example
要想绘制我们在训练过程中就必须加入生成log的代码
训练脚本如下:
GLOG_logtostderr=0 GLOG_log_dir=/home/ccf/CCF/Colorecal-cancer/SMU_data_V2/profile/Log/ \
/home/ccf/caffe/build/tools/caffe train --solver=/home/ccf/CCF/Colorecal-cancer/SMU_data_V2/profile/prototxt/solver.prototxt
这个就可以生成一个log文件,注意生成的log文件的后缀还有时间和日期,自己手动删了不然下面操作不了。
有了log文件之后我们就进行对log文件的解析,解析方法讲上面说到的三个文件复制到刚才的Log文件夹下面,执行:
sh /parse_log.sh caffe.ccf-Lenovo-Product.ccf.log
后面的参数为log文件名,这样就会在当前文件夹下生成一个.train文件和一个.test文件
绘制图片
./plot_training_log.py.example 6 save.png caffe.ccf-Lenovo-Product.ccf.log
就可以生成绘制的图片了上面代码段的说明
6代表曲线类型, save.png 代表保存的图片名称
其他类型的说明
Usage:
./plot_training_log.py chart_type[0-7] /where/to/save.png /path/to/first.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
看一个效果: