OpenDriveLab / ST-P3

[ECCV 2022] ST-P3, an end-to-end vision-based autonomous driving framework via spatial-temporal feature learning.
Apache License 2.0
280 stars 34 forks source link

Problem about nuscenes dataset setup #19

Closed bithuanglq closed 1 year ago

bithuanglq commented 1 year ago

Sorry, may I ask how to select the correct dataset and place it in the correct directory? Nuscenes dataset website: https://www.nuscenes.org/download But I don't know which one is suitable to your pre-trained model.

I have download: Full dataset (v1.0) --> Mini --> Asia Full dataset (v1.0) --> Trainval --> Metadata --> Asia CAN bus expansion --> CAN bus expansion pack --> Asia Map expansion --> Map expansion pack (v1.3) --> Asia

Then I unzip them and put them in the correct relative position: /data/sets/nuscenes/ ----- can_bus ----- maps, including .png and .json files ----- samples ----- v1.0-trainval

However, I get errors as below when I try to run evaluate.py :

Traceback (most recent call last): File "evaluate.py", line 285, in eval(args.checkpoint, args.dataroot) File "evaluate.py", line 80, in eval for index, batch in enumerate(tqdm(valloader)): File "/opt/conda/envs/stp3/lib/python3.7/site-packages/tqdm/std.py", line 1165, in iter for obj in iterable: File "/opt/conda/envs/stp3/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 521, in next data = self._next_data() File "/opt/conda/envs/stp3/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 1203, in _next_data return self._process_data(data) File "/opt/conda/envs/stp3/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 1229, in _process_data data.reraise() File "/opt/conda/envs/stp3/lib/python3.7/site-packages/torch/_utils.py", line 434, in reraise raise exception TypeError: Caught TypeError in DataLoader worker process 0. Original Traceback (most recent call last): File "/opt/conda/envs/stp3/lib/python3.7/site-packages/torch/utils/data/_utils/worker.py", line 287, in _worker_loop data = fetcher.fetch(index) File "/opt/conda/envs/stp3/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 49, in fetch data = [self.dataset[idx] for idx in possibly_batched_index] File "/opt/conda/envs/stp3/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 49, in data = [self.dataset[idx] for idx in possibly_batched_index] File "/mnt/ST-P3/stp3/datas/NuscenesData.py", line 616, in getitem hd_map_feature = self.voxelize_hd_map(rec) File "/mnt/ST-P3/stp3/datas/NuscenesData.py", line 463, in voxelize_hd_map hd_features = self.nusc_maps[map_name].get_map_mask(box_coords, rot * 180 / np.pi , elements, canvas_size=canvas_size) File "/opt/conda/envs/stp3/lib/python3.7/site-packages/nuscenes/map_expansion/map_api.py", line 375, in get_map_mask return self.explorer.get_map_mask(patch_box, patch_angle, layer_names, canvas_size) File "/opt/conda/envs/stp3/lib/python3.7/site-packages/nuscenes/map_expansion/map_api.py", line 839, in get_map_mask map_mask = self.map_geom_to_mask(map_geom, local_box, canvas_size) File "/opt/conda/envs/stp3/lib/python3.7/site-packages/nuscenes/map_expansion/map_api.py", line 788, in map_geom_to_mask layer_mask = self._layer_geom_to_mask(layer_name, layer_geom, local_box, canvas_size) File "/opt/conda/envs/stp3/lib/python3.7/site-packages/nuscenes/map_expansion/map_api.py", line 1744, in _layer_geom_to_mask return self._polygon_geom_to_mask(layer_geom, local_box, layer_name, canvas_size) File "/opt/conda/envs/stp3/lib/python3.7/site-packages/nuscenes/map_expansion/map_api.py", line 1831, in _polygon_geom_to_mask map_mask = self.mask_for_polygons(new_polygon, map_mask) File "/opt/conda/envs/stp3/lib/python3.7/site-packages/nuscenes/map_expansion/map_api.py", line 1764, in mask_for_polygons exteriors = [int_coords(poly.exterior.coords) for poly in polygons] TypeError: 'MultiPolygon' object is not iterable

ilnehc commented 1 year ago

@bithuanglq Could you check the package version to see if it is caused by https://github.com/nutonomy/nuscenes-devkit/issues/887?