mmdet 怎么使用analyze_logs.py绘制日志中的loss信息?

analyze_logs.pyMMDetection 提供的工具之一,用于分析训练日志文件(通常是由 train.py 生成的 JSON 格式日志文件)。这个工具可以生成各种分析图表,用于帮助用户了解模型训练过程中的行为。

使用方法

  1. 准备日志文件
    确保你已经使用 train.py 生成了日志文件,并且这些日志文件以 JSON 格式保存(通过 --json 参数启用 JSON 日志)。

  2. 运行 analyze_logs.py
    你可以通过以下命令调用该脚本:

python tools/analysis_tools/analyze_logs.py <log_file> [optional_arguments]

其中 <log_file> 是你的训练日志文件路径。

常用参数说明

1. 生成训练曲线
python tools/analysis_tools/analyze_logs.py plot_curve <log_file> [--keys KEYS] [--title TITLE] [--legend LEGEND] [--out OUT]

参数说明:

  • <log_file>:日志文件路径。
  • --keys:指定要绘制的曲线,比如 loss, accuracy, mAP 等。多个值用逗号分隔。
  • --title:图表标题。
  • --legend:图例名称,多个值用逗号分隔。
  • --out:生成的图片文件路径。

示例:

python tools/analysis_tools/analyze_logs.py plot_curve my_log.json --keys loss --out loss_curve.png
2. 比较多个日志文件
python tools/analysis_tools/analyze_logs.py plot_curve <log_file1> <log_file2> ... [--keys KEYS] [--legend LEGEND]

参数说明:

  • 可以同时比较多个日志文件,例如多次实验的结果。
  • --legend 用于给每个日志文件添加图例标注。

示例:

python tools/analysis_tools/analyze_logs.py plot_curve log1.json log2.json --keys loss --legend exp1,exp2

3. 计算训练时长

python tools/analysis_tools/analyze_logs.py cal_train_time <log_file>

参数说明:

  • 直接输出每个 epoch 的训练时间以及总训练时间。

示例:

python tools/analysis_tools/analyze_logs.py cal_train_time my_log.json

输出结果

  • 训练曲线图:保存为图片文件(如果指定了 --out 参数)。
  • 训练时长:直接打印在终端。

注意事项

  1. 日志文件格式:确保日志文件是 JSON 格式,通常由 train.py 使用 --json 参数生成。
  2. 赖库analyze_logs.py 需要 matplotlib 等库来绘制图表,请确保这些库已经安装。
pip install matplotlib

参考

https://mmdetection.readthedocs.io/en/v2.10.0/useful_tools.html 

MMDetection实用工具详解(上):日志分析、结果分析、混淆矩阵_mmdetection混淆矩阵-优快云博客

https://zhuanlan.zhihu.com/p/702210475 

https://juejin.cn/post/7378836196033216553

MMDetection3d的实用工具脚本-阿里云开发者社区

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值