目录
5.3绘制分类损失曲线,指定图例为 loss_cls,指定该图片的名称为result_class
5.4绘制分类损失曲线,指定图例为 loss_cls,指定该图片的名称为result_class,并且以.png形式保存至mmdetection文件夹下。
以下仅为自己学习所用,不足之处请在评论区指出。
1.训练结果打包压缩
接上一篇文章Auto DL训练mmdetection(COCO格式数据集)-CSDN博客
训练完成后,需要将训练结果下载至本地进行分析,在租用的云服务器的jupyter终端上输入以下命令即可对指定文件夹进行打包压缩(这里进行打包的原因是方便后续直接将整个训练结果文件夹进行下载),最后的wor_dirs换成自己要打包的文件夹路径即可。最后压缩文件以名称Mytest.7z为名保存下来。接下来就是将该压缩包下载至本地即可。
7za a -t7z -r Mytest.7z work_dirs
2.训练结果解压放至本地目录下
我这里本地项目都在mmdetection文件夹下,故直接将结果加压放置在mmdetection文件夹下。由于训练结果中有很多别的模型的训练结果,我这里只把retinanet_18训练的结果(文件名是jupyter)复制到mmdetection下。
文件解压放置完毕后就可以正式进入日志分析了。
3.日志分析依赖准备
第一次运行前请先在终端运行以下代码安装必要依赖
pip install seaborn
4.日志分析总命令
python tools/analysis_tools/analyze_logs.py plot_curve [--keys ${KEYS}] [--eval-interval ${EVALUATION_INTERVAL}] [--title ${TITLE}] [--legend ${LEGEND}] [--backend ${BACKEND}] [--style ${STYLE}] [--out ${OUT_FILE}]
以下是该命令中各个参数的含义,后面有相应的消融实验。
--keys 指定绘制损失类型,想要画分类损失图像就加上 loss_cls,想要画回归损失函数,就加上loss_bbox,想要两个都画,就把这两个参数都加上。
--eval-interval目前还不知道怎么用
--title的作用是指定绘画图片的名称。
--legend的作用是指定图例名称。
--backend作用未知,目前还不会用。
--style作用未知,目前不会用
--out指定的是保存该损失图片的名称。
5.绘制分类损失曲线
5.1绘制分类损失曲线
python tools/analysis_tools/analyze_logs.py plot_curve jupyter/20231225_160944/vis_data/20231225_160944.json --keys loss_cls
5.2绘制分类损失曲线,指定图例为loss_cls
python tools/analysis_tools/analyze_logs.py plot_curve jupyter/20231225_160944/vis_data/20231225_160944.json --keys loss_cls --legend loss_cls
5.3绘制分类损失曲线,指定图例为 loss_cls,指定该图片的名称为result_class
python tools/analysis_tools/analyze_logs.py plot_curve jupyter/20231225_160944/vis_data/20231225_160944.json --keys loss_cls --title result_class --legend loss_cls
5.4绘制分类损失曲线,指定图例为 loss_cls,指定该图片的名称为result_class,并且以.png形式保存至mmdetection文件夹下。
python tools/analysis_tools/analyze_logs.py plot_curve jupyter/20231225_160944/vis_data/20231225_160944.json --keys loss_cls --title result_class --legend loss_cls --out 1
6.绘制分类,回归损失曲线图
6.1绘制分类回归损失曲线,不保存。
python tools/analysis_tools/analyze_logs.py plot_curve jupyter/20231225_160944/vis_data/20231225_160944.json --keys loss_cls loss_bbox
6.2绘制并以.pdf形式保存。
python tools/analysis_tools/analyze_logs.py plot_curve jupyter/20231225_160944/vis_data/20231225_160944.json --keys loss_cls loss_bbox --out losses.pdf
运行后结果如下。
打开该Pdf,如下图所示,结果图片已经保存。
python tools/analysis_tools/analyze_logs.py cal_train_time jupyter/20231225_160944/vis_data/20231225_160944.json [--include-outliers]