JonasSchult / Mask3D

Mask3D predicts accurate 3D semantic instances achieving state-of-the-art on ScanNet, ScanNet200, S3DIS and STPLS3D.
MIT License
550 stars 110 forks source link

Training on Scannet: data prepare rRaise an exception #20

Closed RongkunYang closed 2 years ago

RongkunYang commented 2 years ago

Hi Jonas! This is a fantastic job. When I train on the scannet dataset, I met a problem about the dataset prepare module. In semseg.py line 194, when the code runs to "self._labels = self._select_correct_labels(labels, num_labels)", there exists an exception. So I'd like to ask whether the Scannet data need some other processing.

The detail error information is below: "/Desktop/program/Mask3D/trainer/trainer.py", line 872, in prepare_data self.train_dataset = hydra.utils.instantiate(self.config.data.train_dataset)

raise HydraException(f"Error calling '{cls}' : {e}") from e hydra.errors.HydraException: Error calling 'datasets.semseg.SemanticSegmentationDataset' : not available number labels, select from: 200, 200

JonasSchult commented 2 years ago

Hi! :) Thanks for your kind words!

It looks like you created the ScanNet200 dataset (with 200 labels) but want to train a model for the original ScanNet dataset with 20 labels) on it. Can you verify in your preprocessing scripts if you enabled scannet200?

RongkunYang commented 2 years ago

Yes, I understand it. During process the Scannet data. In the script parameters, I used the is_scannet200=false (False), this leads to create the scannet200 dataset. Thank you very much.

xiaotiancai899 commented 1 year ago

I faced the same problem, and I do not know how to fix it. Could you please give me more details? Thanks a lot!

xiaotiancai899 commented 1 year ago

@RongkunYang @JonasSchult @francisengelmann @eltociear