关于标准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两个解析过的文件 内容如下:
在$ssd_root/tools/extra下执行
cp plot_log.gnuplot.example plot_log.gnuplot复制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。
《Caffe 绘制训练过程loss,accuracy曲线》 在 以