Skip to content
This repository has been archived by the owner on Oct 31, 2023. It is now read-only.

IndexError: list index out of range #1182

Open
RadiantJeral opened this issue Dec 10, 2019 · 5 comments
Open

IndexError: list index out of range #1182

RadiantJeral opened this issue Dec 10, 2019 · 5 comments

Comments

@RadiantJeral
Copy link

🐛 Bug

Traceback (most recent call last):
File "/home/lucifer/LibSrcs/pycharm-community-2018.3.2/helpers/pydev/pydevd.py", line 1741, in
main()
File "/home/lucifer/LibSrcs/pycharm-community-2018.3.2/helpers/pydev/pydevd.py", line 1735, in main
globals = debugger.run(setup['file'], None, None, is_module)
File "/home/lucifer/LibSrcs/pycharm-community-2018.3.2/helpers/pydev/pydevd.py", line 1135, in run
pydev_imports.execfile(file, globals, locals) # execute the script
File "/home/lucifer/LibSrcs/pycharm-community-2018.3.2/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "/home/lucifer/Projects/05_maskrcnn-benchmark/maskrcnn-benchmark/my_run/run_local/e2e_faster_rcnn_R_50_C4_1x/train_net_e2e_faster_rcnn_R_50_C4_1x.py", line 201, in
main()
File "/home/lucifer/Projects/05_maskrcnn-benchmark/maskrcnn-benchmark/my_run/run_local/e2e_faster_rcnn_R_50_C4_1x/train_net_e2e_faster_rcnn_R_50_C4_1x.py", line 194, in main
model = train(cfg, args.local_rank, args.distributed)
File "/home/lucifer/Projects/05_maskrcnn-benchmark/maskrcnn-benchmark/my_run/run_local/e2e_faster_rcnn_R_50_C4_1x/train_net_e2e_faster_rcnn_R_50_C4_1x.py", line 94, in train
arguments,
File "/home/lucifer/Projects/05_maskrcnn-benchmark/maskrcnn-benchmark/maskrcnn_benchmark/engine/trainer.py", line 72, in do_train
for iteration, (images, targets, _) in enumerate(data_loader, start_iter):
File "/home/lucifer/.virtualenvs/maskrcnn-benchmark/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 537, in next
return self._process_next_batch(batch)
File "/home/lucifer/.virtualenvs/maskrcnn-benchmark/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 577, in _process_next_batch
raise batch.exc_type(batch.exc_msg)
IndexError: Traceback (most recent call last):
File "/home/lucifer/.virtualenvs/maskrcnn-benchmark/lib/python3.6/site-packages/torch/utils/data/_utils/worker.py", line 99, in _worker_loop
samples = collate_fn([dataset[i] for i in batch_indices])
File "/home/lucifer/.virtualenvs/maskrcnn-benchmark/lib/python3.6/site-packages/torch/utils/data/_utils/worker.py", line 99, in
samples = collate_fn([dataset[i] for i in batch_indices])
File "/home/lucifer/.virtualenvs/maskrcnn-benchmark/lib/python3.6/site-packages/torch/utils/data/dataset.py", line 85, in getitem
return self.datasets[dataset_idx][sample_idx]
File "/home/lucifer/Projects/05_maskrcnn-benchmark/maskrcnn-benchmark/maskrcnn_benchmark/data/datasets/coco.py", line 94, in getitem
target = target.clip_to_image(remove_empty=True)
File "/home/lucifer/Projects/05_maskrcnn-benchmark/maskrcnn-benchmark/maskrcnn_benchmark/structures/bounding_box.py", line 223, in clip_to_image
return self[keep]
File "/home/lucifer/Projects/05_maskrcnn-benchmark/maskrcnn-benchmark/maskrcnn_benchmark/structures/bounding_box.py", line 208, in getitem
bbox.add_field(k, v[item])
File "/home/lucifer/Projects/05_maskrcnn-benchmark/maskrcnn-benchmark/maskrcnn_benchmark/structures/segmentation_mask.py", line 555, in getitem
selected_instances = self.instances.getitem(item)
File "/home/lucifer/Projects/05_maskrcnn-benchmark/maskrcnn-benchmark/maskrcnn_benchmark/structures/segmentation_mask.py", line 464, in getitem
selected_polygons.append(self.polygons[i])
IndexError: list index out of range

To Reproduce

reproducible code:

from maskrcnn_benchmark.config import cfg
from maskrcnn_benchmark.data.build import make_data_loader


config_path = '/home/lucifer/Projects/05_maskrcnn-benchmark/maskrcnn-benchmark/my_run/run_local/' \
              'e2e_faster_rcnn_R_50_C4_1x/e2e_faster_rcnn_R_50_C4_1x.yaml'
cfg.merge_from_file(config_path)
dl = make_data_loader(cfg)

for iteration, (images, targets) in enumerate(dl):
    print(iteration)
Dataset [ConcatDataset] has no categories attribute, labels.json file won't be created
Traceback (most recent call last):
  File "/home/lucifer/.virtualenvs/maskrcnn-benchmark/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 3319, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-2-173e8ccc2b92>", line 1, in <module>
    runfile('/home/lucifer/Projects/05_maskrcnn-benchmark/maskrcnn-benchmark/my_code/dev/02_debugs/debug_dataloader.py', wdir='/home/lucifer/Projects/05_maskrcnn-benchmark/maskrcnn-benchmark/my_code/dev/02_debugs')
  File "/home/lucifer/LibSrcs/pycharm-community-2018.3.2/helpers/pydev/_pydev_bundle/pydev_umd.py", line 198, in runfile
    pydev_imports.execfile(filename, global_vars, local_vars)  # execute the script
  File "/home/lucifer/LibSrcs/pycharm-community-2018.3.2/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "/home/lucifer/Projects/05_maskrcnn-benchmark/maskrcnn-benchmark/my_code/dev/02_debugs/debug_dataloader.py", line 8, in <module>
    for iteration, (images, targets, _) in enumerate(dl, 0):
  File "/home/lucifer/.virtualenvs/maskrcnn-benchmark/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 551, in __next__
    return self._process_next_batch(batch)
  File "/home/lucifer/.virtualenvs/maskrcnn-benchmark/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 577, in _process_next_batch
    raise batch.exc_type(batch.exc_msg)
IndexError: Traceback (most recent call last):
  File "/home/lucifer/.virtualenvs/maskrcnn-benchmark/lib/python3.6/site-packages/torch/utils/data/_utils/worker.py", line 99, in _worker_loop
    samples = collate_fn([dataset[i] for i in batch_indices])
  File "/home/lucifer/.virtualenvs/maskrcnn-benchmark/lib/python3.6/site-packages/torch/utils/data/_utils/worker.py", line 99, in <listcomp>
    samples = collate_fn([dataset[i] for i in batch_indices])
  File "/home/lucifer/.virtualenvs/maskrcnn-benchmark/lib/python3.6/site-packages/torch/utils/data/dataset.py", line 85, in __getitem__
    return self.datasets[dataset_idx][sample_idx]
  File "/home/lucifer/Projects/05_maskrcnn-benchmark/maskrcnn-benchmark/maskrcnn_benchmark/data/datasets/coco.py", line 94, in __getitem__
    target = target.clip_to_image(remove_empty=True)
  File "/home/lucifer/Projects/05_maskrcnn-benchmark/maskrcnn-benchmark/maskrcnn_benchmark/structures/bounding_box.py", line 223, in clip_to_image
    return self[keep]
  File "/home/lucifer/Projects/05_maskrcnn-benchmark/maskrcnn-benchmark/maskrcnn_benchmark/structures/bounding_box.py", line 208, in __getitem__
    bbox.add_field(k, v[item])
  File "/home/lucifer/Projects/05_maskrcnn-benchmark/maskrcnn-benchmark/maskrcnn_benchmark/structures/segmentation_mask.py", line 555, in __getitem__
    selected_instances = self.instances.__getitem__(item)
  File "/home/lucifer/Projects/05_maskrcnn-benchmark/maskrcnn-benchmark/maskrcnn_benchmark/structures/segmentation_mask.py", line 464, in __getitem__
    selected_polygons.append(self.polygons[i])
IndexError: list index out of range

Expected behavior

I have tried follow by #881,#1053,#725 and so on. But they seems not work for my situation.

any help is appreciated

Environment

Collecting environment information...
PyTorch version: 1.0.0.dev20190409
Is debug build: No
CUDA used to build PyTorch: 9.0.176
OS: Ubuntu 16.04.5 LTS
GCC version: (Ubuntu 5.4.0-6ubuntu1~16.04.12) 5.4.0 20160609
CMake version: version 3.5.1
Python version: 3.6
Is CUDA available: Yes
CUDA runtime version: Could not collect
GPU models and configuration: GPU 0: GeForce GTX 1070
Nvidia driver version: 384.130
cuDNN version: Could not collect
Versions of relevant libraries:
[pip3] numpy==1.17.4
[pip3] torch-nightly==1.0.0.dev20190409
[pip3] torchvision-nightly==0.2.3
[conda] Could not collect:

Additional context

@RadiantJeral
Copy link
Author

Inspired by #1053, #1181 and #1182 had ben fixed.

Modify the followed file.py:
maskrcnn_benchmark/structures/segmentation_mask.py
maskrcnn_benchmark/modeling/balanced_positive_negative_sampler.py

substitue for all torch.bool with torch.uint8

@AllenYuQ
Copy link

I meet the same situation and I modify the followed file.py:
maskrcnn_benchmark/structures/segmentation_mask.py
maskrcnn_benchmark/modeling/balanced_positive_negative_sampler.py

substitue for all torch.bool with torch.uint8.
It still doesn't work and the error message is:
RuntimeError: empty is not implemented for type CUDABoolType.
My pytorch vision is 1.0 too.

@madurner
Copy link

madurner commented Mar 5, 2020

@FuckThatcher I have exactly the same behavior. Changing from torch.bool to torch.uint8 "fixes" the list index out of range error but results in the RuntimeError: empty is not implemented for type CUDABoolType. Could you already solve this?

@Jinksi isn't this pull request #4 not exactly the otherway round as @RadiantJeral explained up here?

@AllenYuQ
Copy link

AllenYuQ commented Mar 5, 2020

@FuckThatcher I have exactly the same behavior. Changing from torch.bool to torch.uint8 "fixes" the list index out of range error but results in the RuntimeError: empty is not implemented for type CUDABoolType. Could you already solve this?
@Jinksi isn't this pull request #4 not exactly the otherway round as @RadiantJeral explained up here?

Yes,I meet the same runtime error after modification as in coco_eval.py
rles = [mask_util.encode(np.array(mask[0, :, :, np.newaxis], dtype=np.uint8, order="F"))[0]
for mask in mask ]

@FuckThatcher I have exactly the same behavior. Changing from torch.bool to torch.uint8 "fixes" the list index out of range error but results in the RuntimeError: empty is not implemented for type CUDABoolType. Could you already solve this?

@Jinksi isn't this pull request #4 not exactly the otherway round as @RadiantJeral explained up here?

You need continue to modify coco_eval.py like below:
rles = [
mask_util.encode(np.array(mask[0, :, :, np.newaxis], dtype=np.uint8, order="F"))[0]
for mask in mask ]

@Jinksi
Copy link

Jinksi commented Mar 5, 2020

@maximilian-durner yeh sure is.
Sorry to confuse you, this PR (Jinksi#4) was on my own fork of the project, not aimed to be a PR for this official repo.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants