VITA-Group / LightGaussian

"LightGaussian: Unbounded 3D Gaussian Compression with 15x Reduction and 200+ FPS", Zhiwen Fan, Kevin Wang, Kairun Wen, Zehao Zhu, Dejia Xu, Zhangyang Wang
https://lightgaussian.github.io/
Other
506 stars 41 forks source link

20,000 iterations and then prune? #17

Closed adsjkgh closed 5 months ago

adsjkgh commented 5 months ago

In README: note: 3D-GS is trained for 20,000 iterations and then prune it.

where can i change 20,000 to a smaller number, like 12,000

Kevin-2017 commented 5 months ago

The current default setting actually prunes twice at iteration 16000 and 20000. (I would fix it now to align the documentation.) There are a few arguments that you might want to play around with to get the best-performing mode with

  1. --prune_iterations: which is the iteration to prune the model, I would recommend having 3000 + steps after the prune for finetuning. so If you want to train a total of 12,000 steps. You could prune on 9,000 steps.
  2. --iteration: which is the total train iteration, you could set that to 12,000
  3. --densify_until_iter: This is the last iteration to densify, I recommend setting it to less than the prune iteration, else the prune would not be as effective. Maybe 8,900 if you prune at 9,000
  4. --prune_percent: The percent of 3d gaussians that is prune out. Since you are training fewer iterations in total you might to decrease the prune ratio.

An example command would be:

python train_densify_prune.py \
-s "PATH/TO/DATASET/$arg" \
-m "OUTPUT/PATH/${arg}" \
--prune_iterations 9000 \
--iteration 12000 \
--densify_until_iter 8900 \
--prune_percent 0.4 

Play around with these settings, you could probably find a better hyperparameter :D

adsjkgh commented 5 months ago

I see, thank you!