aim-uofa / AdelaiDet

AdelaiDet is an open source toolbox for multiple instance-level detection and recognition tasks.

Home Page:https://git.io/AdelaiDet

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TypeError: 'MultiPolygon' object is not iterable

Maojianzeng opened this issue · comments

commented

When I use SOLOv2 for instance_segmentation to train my dataset, I meet a problem that I can't solve, which happens sometimes but offen and can't avoid.

Traceback (most recent call last):
File "tools/train.py", line 355, in
launch(
File "/root/miniconda3/lib/python3.8/site-packages/detectron2/engine/launch.py", line 62, in launch
main_func(*args)
File "tools/train.py", line 349, in main
return trainer.train()
File "tools/train.py", line 172, in train
self.train_loop(self.start_iter, self.max_iter)
File "tools/train.py", line 161, in train_loop
self.run_step()
File "/root/miniconda3/lib/python3.8/site-packages/detectron2/engine/defaults.py", line 441, in run_step
self._trainer.run_step()
File "/root/miniconda3/lib/python3.8/site-packages/detectron2/engine/train_loop.py", line 226, in run_step
data = next(self._data_loader_iter)
File "/root/miniconda3/lib/python3.8/site-packages/detectron2/data/common.py", line 179, in iter
for d in self.dataset:
File "/root/miniconda3/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 517, in next
data = self._next_data()
File "/root/miniconda3/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 557, in _next_data
data = self._dataset_fetcher.fetch(index) # may raise StopIteration
File "/root/miniconda3/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 44, in fetch
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/root/miniconda3/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 44, in
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/root/miniconda3/lib/python3.8/site-packages/detectron2/data/common.py", line 43, in getitem
data = self._map_func(self._dataset[cur_idx])
File "/root/miniconda3/lib/python3.8/site-packages/detectron2/utils/serialize.py", line 23, in call
return self._obj(*args, **kwargs)
File "/root/AdelaiDet/adet/data/dataset_mapper.py", line 195, in call
annos = [
File "/root/AdelaiDet/adet/data/dataset_mapper.py", line 196, in
transform_instance_annotations(
File "/root/AdelaiDet/adet/data/detection_utils.py", line 18, in transform_instance_annotations
annotation = d2_transform_inst_anno(
File "/root/miniconda3/lib/python3.8/site-packages/detectron2/data/detection_utils.py", line 295, in transform_instance_annotations
p.reshape(-1) for p in transforms.apply_polygons(polygons)
File "/root/miniconda3/lib/python3.8/site-packages/fvcore/transforms/transform.py", line 297, in
return lambda x: self._apply(x, name)
File "/root/miniconda3/lib/python3.8/site-packages/fvcore/transforms/transform.py", line 291, in _apply
x = getattr(t, meth)(x)
File "/root/miniconda3/lib/python3.8/site-packages/fvcore/transforms/transform.py", line 724, in apply_polygons
for poly in cropped:
TypeError: 'MultiPolygon' object is not iterable