PonderV2 icon indicating copy to clipboard operation
PonderV2 copied to clipboard

Query about the preprocess of ScanNetpp

Open RayYoh opened this issue 1 year ago • 4 comments

Hi, Haoyi. Thanks for your great work. Recently, I find that PonderV2 gets a better performance of semantic segmentation on ScanNet++. I also have tried to use the official toolkit to process the data, but find that the training is very slow on Pointcept. I would like to ask whether it is possible to share the code for ScanNet++?

RayYoh avatar Apr 03 '24 03:04 RayYoh

Hi, for ScanNet++, I just load the PonderV2 pretrained weight (the official one) and use PPT to finetune it. Finetuning is almost the same as ScanNet. But I jointly f.t. on 4 datasets now. I use the same sampling weight of ScanNet++ with ScanNet (loop=2). The config file is almost the same as this config, but with a few modifications: image image image

Generally, I just add a new joint dataset for finetuning, and I use exactly the same dataset config of ScanNet (e.g. augmentations, loop, etc). No hyperparameters have been searched yet.

It indeed takes long time to train since the dataset is larger. I took nearly 4 days on 8 A100 GPUs.

HaoyiZhu avatar Apr 03 '24 16:04 HaoyiZhu

I just followed the ScanNet++ official code to do preprocessing including spliting training pth files to chunks.

BTW, when I tried to support ScanNet++ for PonderV2 pretraining, I found there are a lot of bugs in ScanNet++'s official codes... I am still working on it and have not finished debugging preprocessing. After fully check the whole pipeline of preprocess - pretraining - finetuning, I will opensource ScanNet++ part to this codebase.

I am busy on other projects these days, so it may take me some time (maybe 2 or 3 months?) to rearrange and release the ScanNet++ preprocessing, PonderV2 pretraining and finetuning codes and weights. Stay tuned :)

HaoyiZhu avatar Apr 03 '24 16:04 HaoyiZhu

Hi, Haoyi, thanks for your kind reply, and looking forward the configs and weight for scannetpp. It seems to be a common fact that training is time consuming. BTW, have you ever had a low utilisation of a GPU during training, I mean it's not a specific card, it's just rotating between different cards. I use 4 4090 GPUs and use the config of PointGroup.

RayYoh avatar Apr 04 '24 03:04 RayYoh

I'm not sure about that. But I did notice that Pointcept spent a lot time on data loading. I'm not sure whether it's due to data loading bottleneck or it is due to PointGroup itself.

HaoyiZhu avatar Apr 04 '24 07:04 HaoyiZhu

I'm sorry for not getting back to you sooner. I have encountered unexpected busy things and I might have no time to integrate the scannet++ code recently. I recommend you to refer to Pointcept's preprocessing.

HaoyiZhu avatar Dec 13 '24 05:12 HaoyiZhu

Since our codebase is also built upon Pointcept, I believe it is straightforward to follow its implementation. Additionally, Pointcept seems have better data and training tricks that can result in a much higher baseline performance on Scannet++, I am going to close this issue.

HaoyiZhu avatar Dec 13 '24 05:12 HaoyiZhu