caffe绘制loss曲线和accuracy的方法

时间:2022-02-24 22:21:00

在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

看一个效果:
caffe绘制loss曲线和accuracy的方法