lkeab / gaussian-grouping

[ECCV'2024] Gaussian Grouping for open-world Anything reconstruction, segmentation and editing.
https://arxiv.org/abs/2312.00732
Apache License 2.0
679 stars 42 forks source link

rasterizer not enough values to unpack #24

Closed suhanpark closed 9 months ago

suhanpark commented 9 months ago

I ran bash script/train_lerf.sh lerf/figurines 1 command to train and got the error below.

Optimizing output/lerf/figurines Output folder: output/lerf/figurines [29/02 21:43:15] Reading camera 303/303 [29/02 21:43:16] Loading Training Cameras [29/02 21:43:16] Loading Test Cameras [29/02 21:43:20] Number of points at initialisation : 50613 [29/02 21:43:20] Num classes: 256 [29/02 21:43:20] Training progress: 0%| | 0/30000 [00:00<?, ?it/s]Traceback (most recent call last): File "train.py", line 255, in training(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.use_wandb) File "train.py", line 83, in training render_pkg = render(viewpoint_cam, gaussians, pipe, background) File "/home/ubuntu/gaussian-grouping/gaussian_renderer/init.py", line 86, in render rendered_image, radii, rendered_objects = rasterizer( ValueError: not enough values to unpack (expected 3, got 2)

I checked submodules/diff-gaussian-rasterization/diff-gaussian-rasterization/__init__.py and found that _RasterizeGaussians only return color, radii but gaussian_renderer/__init__.py has

rendered_image, radii, rendered_objects = rasterizer(
        means3D = means3D,
        means2D = means2D,
        shs = shs,
        # sh_objs = sh_objs,
        colors_precomp = colors_precomp,
        opacities = opacity,
        scales = scales,
        rotations = rotations,
        cov3D_precomp = cov3D_precomp)

My device info is

tamuatamu commented 5 months ago

Hi. For me, after I change nvcc to 11.3. The train code worked!

marJudge commented 1 week ago

I solved the problem by reinstall the submodules. Definately, they differ from gaussian-splatting.