VITA-Group / LightGaussian

[NeurIPS 2024 Spotlight]"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
573 stars 53 forks source link

how to run distill_train.py? #32

Open Liszt35 opened 3 months ago

Liszt35 commented 3 months ago

thanks for the great code! Please could you provide clear instructions for distill_train.py.I meet some problem when I run distill_train.py with custom dataset.

I use this instruction 'python distill_train.py -m D:\Nerf\LightGaussian-main\output\2ac6a73b-4 -s D:\Nerf\LightGaussian-main\data\ggbond --teacher_model D:\Nerf\LightGaussian-main\output\2ac6a73b-4\chkpnt30000.pt'

here is my teminal: Optimizing D:\Nerf\LightGaussian-main\output\2ac6a73b-4 Output folder: D:\Nerf\LightGaussian-main\output\2ac6a73b-4 [24/07 15:25:07] Tensorboard not available: not logging progress [24/07 15:25:07] D:\Nerf\LightGaussian-main\data\ggbond [24/07 15:25:07] Reading camera 93/93 [24/07 15:25:07] Loading Training Cameras [24/07 15:25:07] [ INFO ] Encountered quite large input images (>1.6K pixels width), rescaling to 1.6K. If this is not desired, please explicitly specify '--resolution/-r' as 1 [24/07 15:25:07] Loading Test Cameras [24/07 15:25:16] Number of points at initialisation : 6272 [24/07 15:25:16] Training progress: 0%| | 0/30000 [00:00<?, ?it/s]Traceback (most recent call last): File "D:\Nerf\LightGaussian-main\distill_train.py", line 219, in training(args, lp.extract(args), op.extract(args), pp.extract(args), args.test_iterations, args.save_iterations, args.checkpoint_iterations, args.start_checkpoint, args.debug_from, args.new_max_sh) File "D:\Nerf\LightGaussian-main\distill_train.py", line 141, in training teacher_image = render(viewpoint_cam, teacher_gaussians, pipe, background)["render"].detach() File "D:\Nerf\LightGaussian-main\gaussian_renderer__init.py", line 83, in render rotations = pc.get_rotation File "D:\Nerf\LightGaussian-main\scene\gaussian_model.py", line 104, in get_rotation return self.rotation_activation(self._rotation) File "D:\Anaconda\Anaconda3\envs\light_gs\lib\site-packages\torch\nn\functional.py", line 4620, in normalize teacher_image = render(viewpoint_cam, teacher_gaussians, pipe, background)["render"].detach() File "D:\Nerf\LightGaussian-main\gaussian_renderer\init__.py", line 83, in render rotations = pc.get_rotation File "D:\Nerf\LightGaussian-main\scene\gaussian_model.py", line 104, in get_rotation return self.rotation_activation(self._rotation) File "D:\Anaconda\Anaconda3\envs\light_gs\lib\site-packages\torch\nn\functional.py", line 4620, in normalize denom = input.norm(p, dim, keepdim=True).clamp_min(eps).expand_as(input) File "D:\Anaconda\Anaconda3\envs\light_gs\lib\site-packages\torch_tensor.py", line 531, in norm return torch.norm(self, p, dim, keepdim, dtype=dtype) File "D:\Anaconda\Anaconda3\envs\light_gs\lib\site-packages\torch\functional.py", line 1495, in norm return _VF.norm(input, p, _dim, keepdim=keepdim) # type: ignore[attr-defined] IndexError: Dimension out of range (expected to be in range of [-1, 0], but got 1) Training progress: 0%|

I got this result after run prune_finetune.py.

image
seulqxq commented 1 day ago

Hi, have you solved this problem?