ViTDet icon indicating copy to clipboard operation
ViTDet copied to clipboard

INDEXERROR

Open rookie0414 opened this issue 3 years ago • 3 comments

022-05-15 19:59:08,729 - mmdet - INFO - workflow: [('train', 1)], max: 25 epochs Traceback (most recent call last): File "tools/train.py", line 189, in main() File "tools/train.py", line 178, in main train_detector( File "/media/dmedia/df97e94d-c388-4fab-aa15-6192cdbdef17/xmx/ccc/ViTDet-main/mmdet/apis/train.py", line 180, in train_detector runner.run(data_loaders, cfg.workflow) File "/media/dmedia/df97e94d-c388-4fab-aa15-6192cdbdef17/xmx/ccc/ViTDet-main/mmcv/mmcv/runner/epoch_based_runner.py", line 127, in run epoch_runner(data_loaders[i], **kwargs) File "/media/dmedia/df97e94d-c388-4fab-aa15-6192cdbdef17/xmx/ccc/ViTDet-main/mmcv/mmcv/runner/epoch_based_runner.py", line 47, in train for i, data_batch in enumerate(self.data_loader): File "/home/dmedia/anaconda3/envs/captionC/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 521, in next data = self._next_data() File "/home/dmedia/anaconda3/envs/captionC/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 561, in _next_data data = self._dataset_fetcher.fetch(index) # may raise StopIteration File "/home/dmedia/anaconda3/envs/captionC/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 49, in fetch data = [self.dataset[idx] for idx in possibly_batched_index] File "/home/dmedia/anaconda3/envs/captionC/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 49, in data = [self.dataset[idx] for idx in possibly_batched_index] File "/media/dmedia/df97e94d-c388-4fab-aa15-6192cdbdef17/xmx/ccc/ViTDet-main/mmdet/datasets/dataset_wrappers.py", line 154, in getitem return self.dataset[idx % self._ori_len] File "/media/dmedia/df97e94d-c388-4fab-aa15-6192cdbdef17/xmx/ccc/ViTDet-main/mmdet/datasets/custom.py", line 195, in getitem data = self.prepare_train_img(idx) File "/media/dmedia/df97e94d-c388-4fab-aa15-6192cdbdef17/xmx/ccc/ViTDet-main/mmdet/datasets/custom.py", line 218, in prepare_train_img return self.pipeline(results) File "/media/dmedia/df97e94d-c388-4fab-aa15-6192cdbdef17/xmx/ccc/ViTDet-main/mmdet/datasets/pipelines/compose.py", line 41, in call data = t(data) File "/media/dmedia/df97e94d-c388-4fab-aa15-6192cdbdef17/xmx/ccc/ViTDet-main/mmdet/datasets/pipelines/loading.py", line 377, in call results = self._load_masks(results) File "/media/dmedia/df97e94d-c388-4fab-aa15-6192cdbdef17/xmx/ccc/ViTDet-main/mmdet/datasets/pipelines/loading.py", line 329, in _load_masks [self._poly2mask(mask, h, w) for mask in gt_masks], h, w) File "/media/dmedia/df97e94d-c388-4fab-aa15-6192cdbdef17/xmx/ccc/ViTDet-main/mmdet/datasets/pipelines/loading.py", line 329, in [self._poly2mask(mask, h, w) for mask in gt_masks], h, w) File "/media/dmedia/df97e94d-c388-4fab-aa15-6192cdbdef17/xmx/ccc/ViTDet-main/mmdet/datasets/pipelines/loading.py", line 285, in _poly2mask rles = maskUtils.frPyObjects(mask_ann, img_h, img_w) File "pycocotools/_mask.pyx", line 292, in pycocotools._mask.frPyObjects IndexError: list index out of range Traceback (most recent call last): File "tools/train.py", line 189, in main() File "tools/train.py", line 178, in main train_detector( File "/media/dmedia/df97e94d-c388-4fab-aa15-6192cdbdef17/xmx/ccc/ViTDet-main/mmdet/apis/train.py", line 180, in train_detector runner.run(data_loaders, cfg.workflow) File "/media/dmedia/df97e94d-c388-4fab-aa15-6192cdbdef17/xmx/ccc/ViTDet-main/mmcv/mmcv/runner/epoch_based_runner.py", line 127, in run epoch_runner(data_loaders[i], **kwargs) File "/media/dmedia/df97e94d-c388-4fab-aa15-6192cdbdef17/xmx/ccc/ViTDet-main/mmcv/mmcv/runner/epoch_based_runner.py", line 47, in train for i, data_batch in enumerate(self.data_loader): File "/home/dmedia/anaconda3/envs/captionC/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 521, in next data = self._next_data() File "/home/dmedia/anaconda3/envs/captionC/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 561, in _next_data data = self._dataset_fetcher.fetch(index) # may raise StopIteration File "/home/dmedia/anaconda3/envs/captionC/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 49, in fetch data = [self.dataset[idx] for idx in possibly_batched_index] File "/home/dmedia/anaconda3/envs/captionC/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 49, in data = [self.dataset[idx] for idx in possibly_batched_index] File "/media/dmedia/df97e94d-c388-4fab-aa15-6192cdbdef17/xmx/ccc/ViTDet-main/mmdet/datasets/dataset_wrappers.py", line 154, in getitem return self.dataset[idx % self._ori_len] File "/media/dmedia/df97e94d-c388-4fab-aa15-6192cdbdef17/xmx/ccc/ViTDet-main/mmdet/datasets/custom.py", line 195, in getitem data = self.prepare_train_img(idx) File "/media/dmedia/df97e94d-c388-4fab-aa15-6192cdbdef17/xmx/ccc/ViTDet-main/mmdet/datasets/custom.py", line 218, in prepare_train_img return self.pipeline(results) File "/media/dmedia/df97e94d-c388-4fab-aa15-6192cdbdef17/xmx/ccc/ViTDet-main/mmdet/datasets/pipelines/compose.py", line 41, in call data = t(data) File "/media/dmedia/df97e94d-c388-4fab-aa15-6192cdbdef17/xmx/ccc/ViTDet-main/mmdet/datasets/pipelines/loading.py", line 377, in call results = self._load_masks(results) File "/media/dmedia/df97e94d-c388-4fab-aa15-6192cdbdef17/xmx/ccc/ViTDet-main/mmdet/datasets/pipelines/loading.py", line 329, in _load_masks [self._poly2mask(mask, h, w) for mask in gt_masks], h, w) File "/media/dmedia/df97e94d-c388-4fab-aa15-6192cdbdef17/xmx/ccc/ViTDet-main/mmdet/datasets/pipelines/loading.py", line 329, in [self._poly2mask(mask, h, w) for mask in gt_masks], h, w) File "/media/dmedia/df97e94d-c388-4fab-aa15-6192cdbdef17/xmx/ccc/ViTDet-main/mmdet/datasets/pipelines/loading.py", line 285, in _poly2mask rles = maskUtils.frPyObjects(mask_ann, img_h, img_w) File "pycocotools/_mask.pyx", line 292, in pycocotools._mask.frPyObjects IndexError: list index out of range ERROR:torch.distributed.elastic.multiprocessing.api:failed (exitcode: 1) local_rank: 0 (pid: 743363) of binary: /home/dmedia/anaconda3/envs/captionC/bin/python Traceback (most recent call last): File "/home/dmedia/anaconda3/envs/captionC/lib/python3.8/runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None, File "/home/dmedia/anaconda3/envs/captionC/lib/python3.8/runpy.py", line 87, in _run_code exec(code, run_globals) File "/home/dmedia/anaconda3/envs/captionC/lib/python3.8/site-packages/torch/distributed/launch.py", line 193, in main() File "/home/dmedia/anaconda3/envs/captionC/lib/python3.8/site-packages/torch/distributed/launch.py", line 189, in main launch(args) File "/home/dmedia/anaconda3/envs/captionC/lib/python3.8/site-packages/torch/distributed/launch.py", line 174, in launch run(args) File "/home/dmedia/anaconda3/envs/captionC/lib/python3.8/site-packages/torch/distributed/run.py", line 710, in run elastic_launch( File "/home/dmedia/anaconda3/envs/captionC/lib/python3.8/site-packages/torch/distributed/launcher/api.py", line 131, in call return launch_agent(self._config, self._entrypoint, list(args)) File "/home/dmedia/anaconda3/envs/captionC/lib/python3.8/site-packages/torch/distributed/launcher/api.py", line 259, in launch_agent raise ChildFailedError( torch.distributed.elastic.multiprocessing.errors.ChildFailedError:

Sorry to bother you, but this issue has not been resolved. I want to ask your opinion. Another thing is whether the image size of the dataset should be resized to 1024*1024. I still have this problem after resize.

rookie0414 avatar May 15 '22 12:05 rookie0414

The issue

It seems that there is no mask data in the dataset directory. If the mask data is not available or expected.to use, please disable the mask loading options from the data processing pipelines.

The image size

Temporally, the answer is yes. We resize the images following their original aspect ratio and padding them to 1024*1024. It seems that your issue is not related to the resize operation but the lack of mask data.

Annbless avatar May 15 '22 12:05 Annbless

an you tell me to disable mask data there? A new error is reported when I set withmask to false. Looking forward to your reply。 2022-05-25 09:48:17,966 - mmdet - INFO - workflow: [('train', 1)], max: 25 epochs /home/x3022/anaconda3/envs/vitdet/lib/python3.8/site-packages/torch/nn/functional.py:718: UserWarning: Named tensors and all their associated APIs are an experimental feature and subject to change. Please do not use them for anything important until they are released as stable. (Triggered internally at /pytorch/c10/core/TensorImpl.h:1156.) return torch.max_pool2d(input, kernel_size, stride, padding, dilation, ceil_mode) Traceback (most recent call last): File "tools/train.py", line 189, in main() File "tools/train.py", line 178, in main train_detector( File "/home/x3022/anaconda3/envs/vitdet/lib/python3.8/site-packages/mmdet-2.18.0-py3.8.egg/mmdet/apis/train.py", line 180, in train_detector runner.run(data_loaders, cfg.workflow) File "/home/x3022/xmx/ViTDet-main/mmcv/mmcv/runner/epoch_based_runner.py", line 127, in run epoch_runner(data_loaders[i], **kwargs) File "/home/x3022/xmx/ViTDet-main/mmcv/mmcv/runner/epoch_based_runner.py", line 50, in train self.run_iter(data_batch, train_mode=True, **kwargs) File "/home/x3022/xmx/ViTDet-main/mmcv/mmcv/runner/epoch_based_runner.py", line 29, in run_iter outputs = self.model.train_step(data_batch, self.optimizer, File "/home/x3022/xmx/ViTDet-main/mmcv/mmcv/parallel/data_parallel.py", line 67, in train_step return self.module.train_step(*inputs[0], **kwargs[0]) File "/home/x3022/anaconda3/envs/vitdet/lib/python3.8/site-packages/mmdet-2.18.0-py3.8.egg/mmdet/models/detectors/base.py", line 238, in train_step losses = self(**data) File "/home/x3022/anaconda3/envs/vitdet/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl return forward_call(*input, **kwargs) File "/home/x3022/xmx/ViTDet-main/mmcv/mmcv/runner/fp16_utils.py", line 98, in new_func return old_func(*args, **kwargs) File "/home/x3022/anaconda3/envs/vitdet/lib/python3.8/site-packages/mmdet-2.18.0-py3.8.egg/mmdet/models/detectors/base.py", line 172, in forward return self.forward_train(img, img_metas, **kwargs) File "/home/x3022/anaconda3/envs/vitdet/lib/python3.8/site-packages/mmdet-2.18.0-py3.8.egg/mmdet/models/detectors/two_stage.py", line 147, in forward_train roi_losses = self.roi_head.forward_train(x, img_metas, proposal_list, File "/home/x3022/anaconda3/envs/vitdet/lib/python3.8/site-packages/mmdet-2.18.0-py3.8.egg/mmdet/models/roi_heads/standard_roi_head.py", line 111, in forward_train mask_results = self._mask_forward_train(x, sampling_results, File "/home/x3022/anaconda3/envs/vitdet/lib/python3.8/site-packages/mmdet-2.18.0-py3.8.egg/mmdet/models/roi_heads/standard_roi_head.py", line 172, in _mask_forward_train mask_targets = self.mask_head.get_targets(sampling_results, gt_masks, File "/home/x3022/anaconda3/envs/vitdet/lib/python3.8/site-packages/mmdet-2.18.0-py3.8.egg/mmdet/models/roi_heads/mask_heads/fcn_mask_head.py", line 144, in get_targets mask_targets = mask_target(pos_proposals, pos_assigned_gt_inds, File "/home/x3022/anaconda3/envs/vitdet/lib/python3.8/site-packages/mmdet-2.18.0-py3.8.egg/mmdet/core/mask/mask_target.py", line 59, in mask_target mask_targets = map(mask_target_single, pos_proposals_list, TypeError: 'NoneType' object is not iterable

rookie0414 avatar May 25 '22 02:05 rookie0414

Maybe you forgot to disable the mask prediction in the model definition?

Annbless avatar May 25 '22 03:05 Annbless