【无标题】Mask 训练coco数据保错IndexError: list index out of range 求助

IndexError                                Traceback (most recent call last)
Input In [3], in ()
    238 if not os.path.exists(args.output_dir):
    239     os.makedirs(args.output_dir)
--> 241 main(args)

Input In [3], in main(args)
    146 lr_scheduler.step()
    148 # evaluate on the test dataset
--> 149 det_info, seg_info = utils.evaluate(model, val_data_loader, device=device)
    151 # write detection into txt
    152 with open(det_results_file, "a") as f:
    153     # 写入的数据包括coco指标还有loss和learning rate

File ~/miniconda3/envs/Maskrcnn/lib/python3.8/site-packages/torch/autograd/grad_mode.py:28, in _DecoratorContextManager.__call__..decorate_context(*args, **kwargs)
     25 @functools.wraps(func)
     26 def decorate_context(*args, **kwargs):
     27     with self.__class__():
---> 28         return func(*args, **kwargs)

File ~/autodl-tmp/deep-learning-for-image-processing-master/pytorch_object_detection/mask_rcnn/train_utils/train_eval_utils.py:103, in evaluate(model, data_loader, device)
    100 seg_metric.synchronize_results()
    102 if utils.is_main_process():
--> 103     coco_info = det_metric.evaluate()
    104     seg_info = seg_metric.evaluate()
    105 else:

File ~/autodl-tmp/deep-learning-for-image-processing-master/pytorch_object_detection/mask_rcnn/train_utils/coco_eval.py:151, in EvalCOCOMetric.evaluate(self)
    148 if is_main_process():
    149     # accumulate predictions from all images
    150     coco_true = self.coco
--> 151     coco_pre = coco_true.loadRes(self.results_file_name)
    153     self.coco_evaluator = COCOeval(cocoGt=coco_true, cocoDt=coco_pre, iouType=self.iou_type)
    155     self.coco_evaluator.evaluate()

File ~/miniconda3/envs/Maskrcnn/lib/python3.8/site-packages/pycocotools/coco.py:329, in COCO.loadRes(self, resFile)
    326 annsImgIds = [ann['image_id'] for ann in anns]
    327 assert set(annsImgIds) == (set(annsImgIds) & set(self.getImgIds())), \
    328        'Results do not correspond to current coco set'
--> 329 if 'caption' in anns[0]:
    330     imgIds = set([img['id'] for img in res.dataset['images']]) & set([ann['image_id'] for ann in anns])
    331     res.dataset['images'] = [img for img in res.dataset['images'] if img['id'] in imgIds]

IndexError: list index out of range

你可能感兴趣的:(深度学习,python,目标检测)