mmrotate eval_map.py IndexError:元组索引超出范围

问题描述 投票:0回答:1

当我使用fine_grained训练/mmrotate/configs/rotated_retinanet/rotated_retinanet_obb_r50_fpn_6x_hrsc_rr_le90.py时,我得到了IndexError: tuple index out of range。 训练这个基线后无需评估(--no-validate),它可以成功执行。
这是来自 GitHub 的基线的链接。(https://github.com/open-mmlab/mmrotate/blob/main/configs/rotated_retinanet/rotated_retinanet_obb_r50_fpn_6x_hrsc_rr_le90.py) 以下是回溯。你能告诉我如何解决吗?我只想在 HRSC2016 数据集上使用fine_grained 评估基线结果。非常感谢。

Traceback (most recent call last):
  File "tools/train.py", line 192, in <module>
    main()
  File "tools/train.py", line 181, in main
    train_detector(
  File "/root/autodl-tmp/mmrotate/mmrotate/apis/train.py", line 141, in train_detector
    runner.run(data_loaders, cfg.workflow)
  File "/root/miniconda3/envs/mmrotate/lib/python3.8/site-packages/mmcv/runner/epoch_based_runner.py", line 136, in run
    epoch_runner(data_loaders[i], **kwargs)
  File "/root/miniconda3/envs/mmrotate/lib/python3.8/site-packages/mmcv/runner/epoch_based_runner.py", line 58, in train
    self.call_hook('after_train_epoch')
  File "/root/miniconda3/envs/mmrotate/lib/python3.8/site-packages/mmcv/runner/base_runner.py", line 317, in call_hook
    getattr(hook, fn_name)(self)
  File "/root/miniconda3/envs/mmrotate/lib/python3.8/site-packages/mmcv/runner/hooks/evaluation.py", line 271, in after_train_epoch
    self._do_evaluate(runner)
  File "/root/miniconda3/envs/mmrotate/lib/python3.8/site-packages/mmdet/core/evaluation/eval_hooks.py", line 63, in _do_evaluate
    key_score = self.evaluate(runner, results)
  File "/root/miniconda3/envs/mmrotate/lib/python3.8/site-packages/mmcv/runner/hooks/evaluation.py", line 367, in evaluate
    eval_res = self.dataloader.dataset.evaluate(
  File "/root/autodl-tmp/mmrotate/mmrotate/datasets/hrsc.py", line 251, in evaluate
    mean_ap, _ = eval_rbbox_map(
  File "/root/autodl-tmp/mmrotate/mmrotate/core/evaluation/eval_map.py", line 243, in eval_rbbox_map
    print_map_summary(
  File "/root/autodl-tmp/mmrotate/mmrotate/core/evaluation/eval_map.py", line 305, in print_map_summary
    label_names[j], num_gts[i, j], results[j]['num_dets'],
IndexError: tuple index out of range

顺便说一下,我检查了 num_classes=33 和 classwise=True。

在 HRSC2016 数据集上使用fine_grained 评估https://github.com/open-mmlab/mmrotate/blob/main/configs/rotated_retinanet/rotated_retinanet_obb_r50_fpn_6x_hrsc_rr_le90.py

eval github-fine-grained-tokens
1个回答
0
投票

在 configs/datasets/hrsc.py 中,设置

classwise = True

解决了我的问题

© www.soinside.com 2019 - 2024. All rights reserved.