LittlePey / SFD

Sparse Fuse Dense: Towards High Quality 3D Detection with Depth Completion (CVPR 2022, Oral)
Apache License 2.0
262 stars 35 forks source link

AttributeError: 'NoneType' object has no attribute 'generate' #29

Open a-free-a opened 1 year ago

a-free-a commented 1 year ago

我在训练的过程中遇到了这个问题,查找资料据说是数据集的问题,但是我的数据集是完整的,一直无法解决这个问题。 2022-10-23 09:30:38,925 INFO **********************Start training kitti_models/sfd(default)********************** epochs: 0%| | 0/40 [00:05<?, ?it/s] Traceback (most recent call last): | 0/1856 [00:00<?, ?it/s] File "train.py", line 200, in <module> main() File "train.py", line 172, in main merge_all_iters_to_one_epoch=args.merge_all_iters_to_one_epoch File "/media/feee/Ubuntu/SFD/tools/train_utils/train_utils.py", line 93, in train_model dataloader_iter=dataloader_iter File "/media/feee/Ubuntu/SFD/tools/train_utils/train_utils.py", line 19, in train_one_epoch batch = next(dataloader_iter) File "/home/feee/.local/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 521, in __next__ data = self._next_data() File "/home/feee/.local/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 561, in _next_data data = self._dataset_fetcher.fetch(index) # may raise StopIteration File "/home/feee/.local/lib/python3.6/site-packages/torch/utils/data/_utils/fetch.py", line 49, in fetch data = [self.dataset[idx] for idx in possibly_batched_index] File "/home/feee/.local/lib/python3.6/site-packages/torch/utils/data/_utils/fetch.py", line 49, in <listcomp> data = [self.dataset[idx] for idx in possibly_batched_index] File "/media/feee/Ubuntu/SFD/pcdet/datasets/kitti/kitti_dataset_sfd.py", line 424, in __getitem__ data_dict = self.prepare_data(data_dict=input_dict) File "/media/feee/Ubuntu/SFD/pcdet/datasets/kitti/kitti_dataset_sfd.py", line 475, in prepare_data data_dict=data_dict File "/media/feee/Ubuntu/SFD/pcdet/datasets/processor/data_processor.py", line 284, in forward data_dict = cur_processor(data_dict=data_dict) File "/media/feee/Ubuntu/SFD/pcdet/datasets/processor/data_processor.py", line 245, in transform_points_to_voxels_valid voxel_output = self.voxel_generator.generate(points) AttributeError: 'NoneType' object has no attribute 'generate'

LittlePey commented 1 year ago

Hi, sorry for the late reply. It seems that the 'self.voxel_generator' in your code is None. You need to check your spconv and do you use spconv2.x ? The code we provide is based on spconv1.x

a-free-a commented 1 year ago

Thank you for your answer. I have solved the problem.