SSD(Single Shot MultiBox Detector):绘制训练过程loss,accuracy曲线

关于标准Caffe绘制loss,accuracy曲线参见这篇博客,写得很详细《Caffe 绘制训练过程loss,accuracy曲线》,而训练SSD时绘制loss,accuracy曲线稍简单点,因为SSD的训练脚本已经完成了日志输出重定向工作 。训练时训练日志已经以文件形式保存在jobs文件夹下

所以我们要做的就是直接利用这个日志文件绘制训练过程loss,accuracy曲线。

分析日志生成数据

caffe在tools/extra中自带日志分析工具, 在$ssd_root/tools/extra下执行(log文件名根据你的实际情况而定)

./parse_log.sh ../../jobs/VGGNet/VOC2007/SSD_300x300/VGG_VOC2007_SSD_300x300.log 

会生VGG_VOC2007_SSD_300x300.log.test,VGG_VOC2007_SSD_300x300.log.train两个解析过的文件

内容如下:

修改gnuplot设置

在$ssd_root/tools/extra下执行

cp plot_log.gnuplot.example plot_log.gnuplot

绘制train loss单曲线

复制plot_log.gnuplot.example的一个副本plot_log.gnuplot,在plot_log.gnuplot上修改,主要修改的是44行 下图是用rabbitvcs显示了修改前后的差异

删除掉注释后plot_log.gnuplot的完整内容及说明

reset
set terminal png
# 输出文件名 可不改
set output "VGG_VOC2007_SSD_300x300.png"
set style data lines
set key right

###### Fields in the data file your_log_name.log.train are
###### Iters Seconds TrainingLoss LearningRate

# Training loss vs. training iterations
# 设置标题名称
set title "SSD Training loss vs. training iterations"
# 设置x, y轴名称
set xlabel "Training iterations"
set ylabel "Training loss"
# 曲线绘制 title表示曲线名
# using 1:3 表示使用log-data.train的第一和第三列分别为x轴y轴
# VGG_VOC2007_SSD_300x300.log.train即为上一步生成的训练日志分析文件
plot "VGG_VOC2007_SSD_300x300.log.train" using 1:3 title "train loss"

在$ssd_root/tools/extra下执行

gnuplot plot_log.gnuplot

主就会在当前文件夹下生成 VGG_VOC2007_SSD_300x300.png。

绘制loss/accuracy双曲线

reset
set terminal png
# 输出文件名
set output "VGG_VOC2007_SSD_300x300.png"
set style data lines
set key right

###### Fields in the data file your_log_name.log.train are
###### Iters Seconds TrainingLoss LearningRate

# Training loss vs. training iterations
# 设置多图模式
set multiplot
# 设置标题名称
set title "SSD Training loss vs. training iterations"
# 设置x, y轴名称
set xlabel "Training iterations"
set ylabel "Training loss"
# 曲线绘制 title表示曲线名
# using 1:3 表示使用log-data.train的第一和第三列分别为x轴y轴
#plot "VGG_VOC2007_SSD_300x300.log.train" using 1:3 title "train loss", "VGG_VOC2007_SSD_300x300.log.test" using 1:3 title "test loss"

参考资料

《Caffe 绘制训练过程loss,accuracy曲线》 在 以

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏吉浦迅科技

当Intel的神经棒遇到NVIDIA的Jetson TX2

2835
来自专栏AI科技大本营的专栏

TensorFlow 1.8.0正式发布,Bug修复和改进内容都在这里了

【导语】TensorFlow 1.8.0 近日正式发布,新版本主要有以下改进内容,AI科技大本营对其编译如下。 ▌主要特点及改进 可以将 tf.contrib...

3189
来自专栏AI研习社

十分钟搞定 Tensorflow 服务

Tensorflow 服务是谷歌推荐用来部署 Tensorflow 模型的方法。如果你不具备一定的计算机工程知识背景,即使你对 Tensorflow 本身感觉很...

3886
来自专栏程序员互动联盟

【专业技术】chromium GPU 硬件加速合成

前言: 在传统浏览器网页渲染实现方案中,网页完全依赖CPU的能力去渲染网页(软件渲染简介:网页生成一张bitmap丢给CPU去绘制),然而一台机器的CPU不仅...

2226
来自专栏CreateAMind

comma.ai George Hotz 挑战谷歌的自动驾驶系统测试搭建过程

1143
来自专栏AI研习社

Github 项目推荐 | 在 Spark 上实现 TensorFlow 的库 —— Sparkflow

该库是 TensorFlow 在 Spark 上的实现,旨在 Spark 上使用 TensorFlow 提供一个简单的、易于理解的接口。借助 SparkFlow...

852
来自专栏瓜大三哥

读懂用好Timing Report

静态时序分析 静态时序分析(Static Timing Analysis)简称STA,采用穷尽的分析方法来提取出整个电路存在的所有时序路径,计算信号在这些路径...

2365
来自专栏专知

Facebook深度学习框架Caffe2代码正式并入PyTorch

Facebook同时支持两个深度学习工具 Caffe2和 PyTorch, 显然不重复造轮子, 而是让能复用的组件和库(比如操作库)在这两个项目之间共享是没有争...

35712
来自专栏量子位

PyTorch更新了:支持Windows,新增零维张量

PyTorch今天发布了v0.4.0版本,网友们反响非常热烈,甚至有人说:感觉就像提前过圣诞~

981
来自专栏张高兴的博客

翻译:使用红外传感器与Arduino进行简单动作与手势检测

译注:昨天看 Adruino 的 Twitter 推了这篇项目,第一眼就觉得非常有趣,翻译给大家看看。文中的红外传感器比较高级,和淘宝上5块钱的那种只能输出0和...

571

扫码关注云+社区