Caffe绘制训练过程的loss和accuracy曲线

在caffe的训练过程中,大家难免想图形化自己的训练数据,以便更好的展示结果。如果自己写代码记录训练过程的数据,那就太麻烦了,caffe中其实已经自带了这样的小工具 caffe-master/tools/extra/parse_log.sh caffe-master/tools/extra/extract_seconds.py和 caffe-master/tools/extra/plot_training_log.py.example ,使用方法如下:
1,记录训练日志
在训练过程中的命令中加入一个参数 ,实现Log日志的记录

/home/justin/caffe/build/tools/caffe train -solver lenet_solver.prototxt -sigint_effect snapshot 2>&1 | tee -a ./lenet/solve.log

其中目录改成自己系统的目录,这样训练结束之后,会在Log文件夹中生成每次训练的Log日志。
2,解析训练日志
将最上面说的3个脚本文件拷贝到Log 文件夹下,执行:

./parse_log.sh solve.log  

后面的参数为log文件名,这样就会在当前文件夹下生成一个.train文件和一个.test文件
3,生成图片
执行

./plot_training_log.py.example 2  save.png solve.log

./plot_training_log.py.example的具体用法如下

Usage:
    ./plot_training_log.py chart_type[0-7] /where/to/save.png /path/to/first.log ...
    #/where/to/save.png为保存的png图片名称,/path/to/first.log为训练的log文件
Notes:
    1. Supporting multiple logs.
    2. Log file name must end with the lower-cased ".log".
Supported chart types:      
#[0-7]代表以下绘图的类型:
    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

本文主要内容转载自http://blog.csdn.net/u013078356/article/details/51154847

你可能感兴趣的:(机器学习算法笔记)