参考博文:http://blog.csdn.net/u013078356/article/details/51154847
在使用caffe训练数据,迭代次数非常大的时候,难免会想图形化展示实验结果。这样即便于训练过程中参数的调整,也便于最后成果的展示。
0. 需要的文件:
1 caffe/tools/extra/parse_log.sh
2 caffe/tools/extra/extract_seconds.py
3 caffe/tools/extra/plot_training_log.py.example
1. 记录训练日志:
方法一:
1 GLOG_logtostderr=0 GLOG_log_dir=Vgg-face/codes/Log/ \
2 ./build/tools/caffe train \
3 --solver=Vgg-face/codes/solver.prototxt
注意:
- 在目录下新建文件夹Log
- 去掉通常脚本里面开头的
#!usr/bin/env sh
否则Log文件夹里面啥都不会出现
方法二:
1 #!/bin/bash
2 LOG=Vgg-face/Log/train-`date +%Y-%m-%d-%H-%M-%S`.log
3 ./build/tools/caffe train \
4 --solver=Vgg-face/codes/solver.prototxt --gpu=0 2>&1 | tee $LOG
注意:
- 在目录下新建文件夹Log
此时将出现的文件名改为my.log
或者自己喜欢的名字,这个名字会出现在最后得到的图片里面。
2. 解析训练日志:
将开头提到的三个文件拷贝到Log文件夹里面。
1 ./parse_log.sh my.log
注意:
- 参考博文的博主提到的 ./parse_log.sh caffe.wujiyang-ubuntu.wujiyang.log
中的 caffe. 是所生成文件的文件名的一部分,不叫这个名字的童鞋,千万别在自己文件名前面➕ caffe. 不然会报错。
此时会出现 my.log.train 和 my.log.test 两个文件,里面保存了提取出来的 seconds、loss、accuracy 信息。
3. 绘制图片:
执行:
1 ./plot_training_log.py.example 0 save.png my.log
也可以将 plot_training_log.py.example 改为 plot_training_log.py
执行:
1 python plot_training_log.py 0 save.png my.log
其中:
- 0 为曲线类型
- save.png为保存图片的文件名
- my.log为上述所得日志
参数的含义:
1 Supported chart types:
2 0: Test accuracy vs. Iters
3 1: Test accuracy vs. Seconds
4 2: Test loss vs. Iters
5 3: Test loss vs. Seconds
6 4: Train learning rate vs. Iters
7 5: Train learning rate vs. Seconds
8 6: Train loss vs. Iters
9 7: Train loss vs. Seconds
4. 结果展示