caffe+linux平台——绘制训练时的loss曲线

大家好,最近一直在学深度学习,本来想彻底调通一个网络后来一篇系统的总结博客,但是现在获得了一个小技能点,怕不赶快记录下来会忘记,所以就先写下来了。

一.要想绘制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


好了,我们下期见!(我的网络跑通见!)

猜你喜欢

转载自blog.csdn.net/miss_yuki/article/details/78789409
今日推荐