dvlab-research / SphereFormer

The official implementation for "Spherical Transformer for LiDAR-based 3D Recognition" (CVPR 2023).
Apache License 2.0
306 stars 35 forks source link

how to train the SphereFormer in DDP mode? #32

Closed kingbackyang closed 1 year ago

X-Lai commented 1 year ago

Current implementation is already based on DDP.

kingbackyang commented 1 year ago

Is it enought for the DDP mode to adding "CUDA_VISIBLE_DEVICES=0,1,2,3*" before "python train.py --config config/semantic_kitti/semantic_kitti_unet32_spherical_transformer.yaml". Because the DDP mode usually needs to set the lanuch mode, such as python -m torch**. I have just come across this repo and have not run it.

kingbackyang commented 1 year ago

Some questions about the performance gap between the validation set and the test set on the semanticKITTI benchmark. I have read your paper, which is an excellent work.The performance of this SphereFormer on the SemanticKITTI validation set in this repo is 67.8, meanwhile the performance on the test set is 74.8. However, for my model, the performances on the val set and the test set are 71.4 and 72.3, respectively. May I ask you how to solve this problem? Thank you

X-Lai commented 1 year ago

Firstly, you can also run with ddp mode without ddp launcher, like in the released train.py file. Secondly, to reach a better performance on the test benchmark, many works use some tricks like gt sampling and model ensembling. You can try them. The reported validation results are without these tricks.

kingbackyang commented 1 year ago

I am a Phd student in Zhejiang University. could I have your contact information? My email address is jr.young@zju.edu.cn.

kingbackyang commented 1 year ago

I am a Phd student in Zhejiang University. could I have your contact information? My email address is jr.young@zju.edu.cn.

kingbackyang commented 1 year ago

Firstly, you can also run with ddp mode without ddp launcher, like in the released train.py file. Secondly, to reach a better performance on the test benchmark, many works use some tricks like gt sampling and model ensembling. You can try them. The reported validation results are without these tricks. Model ensembling means the ensembling among different epochs or the ensembling among the semantic models such as SPVCNN, MinkUnet, Cylinder? Gt sampling means the data augmentation method in the training stage in the SECOND paper?

X-Lai commented 1 year ago

Model ensembling means ensembling the same models with different hyperparameters (e.g., batch size, weight decay, learning rate, etc.). For GT sampling, please refer to Sec. 3.4 of the paper of RPVNet.

kingbackyang commented 1 year ago

Model ensembling means ensembling the same models with different hyperparameters (e.g., batch size, weight decay, learning rate, etc.). For GT sampling, please refer to Sec. 3.4 of the paper of RPVNet.

Thank you!