使用mmdet时设置好网络后,为什么训练的时候,起初很正常,但经过几个epoch后(不固定,可能只经过一个epoch,也可能经过几十个epoch),可能会忽然跳出这样的错误IndexError: list index out of range。可以给我一些问题地解决建议吗?非常感谢
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] 170/170, 5.6 task/s, elapsed: 30s, ETA: 0sTraceback (most recent call last):
File "G:/swinmask/Swin-Transformer-Object-Detection/tools/train.py", line 187, in <module>
main()
File "G:/swinmask/Swin-Transformer-Object-Detection/tools/train.py", line 176, in main
train_detector(
File "G:\swinmask\Swin-Transformer-Object-Detection\mmdet\apis\train.py", line 185, in train_detector
runner.run(data_loaders, cfg.workflow)
File "d:\program\anaconda3\envs\swin_det\mmcv-1.3.17\mmcv\runner\epoch_based_runner.py", line 127, in run
epoch_runner(data_loaders[i], **kwargs)
File "d:\program\anaconda3\envs\swin_det\mmcv-1.3.17\mmcv\runner\epoch_based_runner.py", line 54, in train
self.call_hook('after_train_epoch')
File "d:\program\anaconda3\envs\swin_det\mmcv-1.3.17\mmcv\runner\base_runner.py", line 307, in call_hook
getattr(hook, fn_name)(self)
File "G:\swinmask\Swin-Transformer-Object-Detection\mmdet\core\evaluation\eval_hooks.py", line 147, in after_train_epoch
key_score = self.evaluate(runner, results)
File "G:\swinmask\Swin-Transformer-Object-Detection\mmdet\core\evaluation\eval_hooks.py", line 176, in evaluate
eval_res = self.dataloader.dataset.evaluate(
File "G:\swinmask\Swin-Transformer-Object-Detection\mmdet\datasets\coco.py", line 417, in evaluate
result_files, tmp_dir = self.format_results(results, jsonfile_prefix)
File "G:\swinmask\Swin-Transformer-Object-Detection\mmdet\datasets\coco.py", line 362, in format_results
result_files = self.results2json(results, jsonfile_prefix)
File "G:\swinmask\Swin-Transformer-Object-Detection\mmdet\datasets\coco.py", line 299, in results2json
json_results = self._segm2json(results)
File "G:\swinmask\Swin-Transformer-Object-Detection\mmdet\datasets\coco.py", line 267, in _segm2json
if isinstance(segms[i]['counts'], bytes):
IndexError: list index out of range