首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SSD(Single Shot MultiBox Detector):绘制训练过程loss,accuracy曲线

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

作者头像
10km
发布2018-01-03 14:30:58
2K0
发布2018-01-03 14:30:58
举报
文章被收录于专栏:10km的专栏10km的专栏

关于标准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曲线》 在 以

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年05月05日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 分析日志生成数据
  • 修改gnuplot设置
    • 绘制train loss单曲线
      • 绘制loss/accuracy双曲线
      • 参考资料
      相关产品与服务
      Elasticsearch Service
      腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档