利用caffe工具绘制训练模型中train accuracy和loss曲线

参考博文:(1)https://blog.csdn.net/yx2017/article/details/75045078​​​​​​

                 (2)http://www.cnblogs.com/AliceHu/p/6529383.html

                 (3)https://www.cnblogs.com/wuchaodzxx/p/5904180.html 

                 (4)https://blog.csdn.net/liuweizj12/article/details/64920428 


1. 记录训练日志:

#!/usr/bin/env sh
set -e

echo "begin:"
TOOLS=/home/yangjian/caffe-master/build/tools
LOG=/home/yangjian/caffe-master/myfile_jian/log/log-`date +%Y-%m-%d-%H-%M-%S`.log
$TOOLS/caffe train \
    --solver=/home/yangjian/caffe-master/myfile_jian/solver50.prototxt 2>&1 | tee $LOG $@
echo "end"

2. 需要的文件:

1 caffe/tools/extra/parse_log.sh  
2 caffe/tools/extra/extract_seconds.py
3 caffe/tools/extra/plot_training_log.py
  • 将这三个文件复制到log目录下,将plot_training_log.py.example重命名为plot_training_log.py
  • 对这三个文件赋予可执行权限:chmod a+x 三个文件

3. 解析训练日志:(此方法该步骤可以不用)

./parse_log.sh log-2018-07-27-10-37-42.log

此时,在log文件下面生成了log-2018-07-27-10-37-42.log.train和log-2018-07-27-10-37-42.log.test文件,里面保存了提取出来的seconds,loss,accuracy信息。

4. 绘制图片:

 ./plot_training_log.py 0 save.png log-2018-07-27-10-37-42.log

其中:

  • 0 为曲线类型
  • save.png为保存图片的文件名
  • log-2018-07-27-10-37-42.log为上述所得日志

5. 参数的含义:

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

参数4和5由于训练日志里最后生成模型时会缺少最后一次显示迭代的学习率而绘图出错,其他参数没有问题 

6. 结果展示

猜你喜欢

转载自blog.csdn.net/weixin_40695510/article/details/81235904