参考博文:(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由于训练日志里最后生成模型时会缺少最后一次显示迭代的学习率而绘图出错,其他参数没有问题