根据log日志画accuracy loss 图

来源:互联网 发布:mac多桌面切换快捷键 编辑:程序博客网 时间:2024/06/05 11:40

 在训练过程中画出accuracy loss曲线能够更直观的观察网络训练的状态,以便更好的优化网络的训练。

一、设置训练配置文件参数,保存训练时的参数至log文件 

[python] view plain copy
  1. TOOLS=./build/tools  
  2. LOG=examples/testCreateLmDB/log/log-`date +%Y-%m-%d-%H-%M-%S`.log  
  3. $TOOLS/caffe train \  
  4.   --solver=examples/testCreateLmDB/my_quick_solver.prototxt 2>&1   | tee $LOG $@  

其中:tee :将输出内容 重定向到日志文件中,同时在终端打印输出

             2>&1 是将标准出错重定向到标准输出,这里的标准输出已经重定向到了out.file文件,即将标准出错也输出到out.file文件中。最后一个&, 是让该命令在后台执行


二、开始训练后,在log目录里面生成“log-2017-03-22-10-33-20.log”日志文件

 

三、解析log中的内容 分成train test 会在当前文件夹下生成log-data.train  log-data.test两个文件

 tools/extra

    ./parse_log.sh  log-2017-03-22-10-33-20.log

 

四、调用py程序绘制图形 

tools/extra

./plot_training_log.py.example 0 save.png log-data.log

其中0代表曲线类型, save.png 代表保存的图片名称  caffe中支持很多种曲线绘制,通过指定不同的类型参数即可,具体参数如下

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

其结果如下:

[python] view plain copy
  1. ./plot_training_log.py.example 0 save.png /home/lw/caffe/examples/testCreateLmDB/log/log-2017-03-22-10-33-20.log   



[python] view plain copy
  1. ./plot_training_log.py.example 2 save.png /home/lw/caffe/examples/testCreateLmDB/log/log-2017-03-22-10-33-20.log   



遇到问题:no display name and no $DISPLAY environment variable

解决方案:vim 脚本plot_training_log.py.example并在脚本内添加

import matplotlibmatplotlib.use('Agg')
:wq  运行命令,问题解决
阅读全文
0 0