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

来源:互联网 发布:mac 卸载百度云盘 编辑:程序博客网 时间:2024/05/19 14:52
转载自:http://blog.csdn.net/u013078356/article/details/51154847

在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日志的记录

[plain] view plain copy
print?
  1. TOOLS=./build/tools  
  2. GLOG_logtostderr=0 GLOG_log_dir=deepid/deepid2/Log/ \  
  3. $TOOLS/caffe train \  
  4.   –solver=deepid/deepid2/deepid_solver.prototxt  
TOOLS=./build/toolsGLOG_logtostderr=0 GLOG_log_dir=deepid/deepid2/Log/ \$TOOLS/caffe train \  --solver=deepid/deepid2/deepid_solver.prototxt

其中目录改成自己系统的目录,这样训练结束之后,会在Log文件夹中生成每次训练的Log日志


2.解析训练日志

将最上面说的3个脚本文件拷贝到Log 文件夹下,执行:

[python] view plain copy
print?
  1. ./parse_log.sh caffe.wujiyang-ubuntu.wujiyang.log  
./parse_log.sh caffe.wujiyang-ubuntu.wujiyang.log

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


3.生成图片

执行

[plain] view plain copy
print?
  1. ./plot_training_log.py.example 0  save.png caffe.wujiyang-ubuntu.wujiyang.log  
./plot_training_log.py.example 0  save.png caffe.wujiyang-ubuntu.wujiyang.log

就可以生成训练过程中的Test accuracy  vs. Iters 曲线,其中0代表曲线类型, save.png 代表保存的图片名称

caffe中支持很多种曲线绘制,通过指定不同的类型参数即可,具体参数如下

[plain] view plain copy
print?
  1. Notes:  
  2.     1. Supporting multiple logs.  
  3.     2. Log file name must end with the lower-cased ”.log”.  
  4. Supported chart types:  
  5.     0: Test accuracy  vs. Iters  
  6.     1: Test accuracy  vs. Seconds  
  7.     2: Test loss  vs. Iters  
  8.     3: Test loss  vs. Seconds  
  9.     4: Train learning rate  vs. Iters  
  10.     5: Train learning rate  vs. Seconds  
  11.     6: Train loss  vs. Iters  
  12.     7: Train loss  vs. Seconds  
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

最后,看一下效果



0 0
原创粉丝点击