大家好,最近一直在学深度学习,本来想彻底调通一个网络后来一篇系统的总结博客,但是现在获得了一个小技能点,怕不赶快记录下来会忘记,所以就先写下来了。
一.要想绘制loss曲线,需要先在训练时输出日志。
原本的train.sh为:
#!/usr/bin/env sh
TOOLS=./build/tools
$TOOLS/caffe train --solver=examples/mytest/solver.prototxt
想要输出日志,需要改为:
#!/usr/bin/env sh
TOOL=./build/tools
LOG=examples/mytest
$TOOLS/caffe train --solver=examples/mytest/solver.prototxt 2>&1| tee $LOG/log/mytest_train.log
这样,在mytest里就会建一个log文件夹,里面有训练日志mytest_train.log
二.获得相关文件
我们需要三个文件:
caffe-master/tools/extra/parse_log.sh
caffe-master/tools/extra/extract_seconds.py
caffe-master/tools/extra/plot_training_log.py.example
找到这三个文件复制到log文件夹中。
三.解析训练日志
在log文件夹下打开终端,输入:
./prase_log.sh mytest_train.log
生成mytest_train.log.test和
mytest_train.log.train
四.生成曲线图片
在终端中继续输入:
./plot_training_log.py.example 6 train_loss.png mytest_train.log
生成训练时的loss曲线
其中的6表示生成何种曲线,具体定义如下:
0: Test accuracy vs. Iters
1: Test accuracy vs. Seconds
2: Train learning rate vs. Iters
3: Train learning rate vs. Seconds
4: Test loss vs. Iters
5: Test loss vs. Seconds
6: Train learning rate vs. Iters
7: Train learning rate vs. Seconds
8: Train loss vs. Iters
9: Train loss vs. Seconds
好了,我们下期见!(我的网络跑通见!)