您的位置:首页 > Web前端

【Caffe】利用log文件绘制loss和accuracy(转载)

2017-07-24 09:09 369 查看
(原文地址:http://blog.csdn.net/liuweizj12/article/details/64920428

在训练过程中画出accuracy 和loss曲线能够更直观的观察网络训练的状态,以便更好的优化网络的训练。本文主要介绍在基于caffe框架训练网络时,如何利用caffe自带的一些实用的工具包来绘制曲线

一、

设置训练配置文件参数,保存训练时的参数至log文件

[python] view plain copy

TOOLS=./build/tools
LOG=examples/testCreateLmDB/log/log-`date +%Y-%m-%d-%H-%M-%S`.log
$TOOLS/caffe train \
--solver=examples/testCreateLmDB/my_quick_solver.prototxt 2>&1   | tee $LOG $@


其中:tee :将输出内容 重定向到日志文件中,同时在终端打印输出

2>&1 是将标准出错重定向到标准输出,这里的标准输出已经重定向到了out.file文件,即将标准出错也输出到out.file文件中。最后一个&, 是让该命令在后台执行


二、

开始训练后,在log目录里面生成“log-2017-03-22-10-33-20.log”日志文件

三、

解析log中的内容 分成train和 test 会在当前文件夹下生成log-data.train 和 log-data.test两个文件

tools/extra

./parse_log.sh  log-2017-03-22-10-33-20.log


四、

调用py程序绘制图形

tools/extra

./plot_training_log.py.example 0 save.png log-data.log

其中0代表曲线类型, save.png 代表保存的图片名称 caffe中支持很多种曲线绘制,通过指定不同的类型参数即可,具体参数如下

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
4: Train learning rate  vs. Iters
5: Train learning rate  vs. Seconds
6: Train loss  vs. Iters
7: Train loss  vs. Seconds


其结果如下:

./plot_training_log.py.example 0 save.png /home/lw/caffe/examples/testCreateLmDB/log/log-2017-03-22-10-33-20.log




./plot_training_log.py.example 2 save.png /home/lw/caffe/examples/testCreateLmDB/log/log-2017-03-22-10-33-20.log


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: