sharinka0715 / semantic-gaussians

Official implemetation of the paper "Semantic Gaussians: Open-Vocabulary Scene Understanding with 3D Gaussian Splatting".
MIT License
143 stars 11 forks source link

GS RuntimeError #22

Closed xiyufeng2 closed 1 month ago

xiyufeng2 commented 1 month ago

During Training the GS:

num_rendered, color, radii, geomBuffer, binningBuffer, imgBuffer, depth = _C.rasterize_gaussians(*args) RuntimeError: numel: integer multiplication overflow

RuntimeError: numel: integer multiplication overflow Training progress: 20%|██████████ | 5920/3000 [1:36:57<7:23:31, 3.08it/s, Loss=0.0742834]

Any idea how to solve this?

Ysc156 commented 1 month ago

num_rendered, color, radii, geomBuffer, binningBuffer, imgBuffer, depth = _C.rasterize_gaussians(*args) RuntimeError: numel: integer multiplication overflow Training progress: 79%|████████████████████████████████████████████████▍ | 23800/30000 [4:00:17<1:02:35, 1.65it/s, Loss=0.0705260]

Same problem.

sharinka0715 commented 1 month ago

Hello, Sorry for hear that, but I have no idea around your problem. As your problem occurs in 3DGS training, I would advice you to try the official 3D Gaussian Splatting code to train your 3DGS, as our repository highly relies on them. If you meet the same error, you can ask them for help. If not, you can replace the rendering function in our code by their version, as our code should do the same thing with them in 3DGS training.

xiyufeng2 commented 1 month ago

Segmentation Failed!(New problem) I have replaced the original GS result in the first step, and run the "train.py fusion.py distill.py" 3 files successfully. When I run the "view_viser.py" with my colmap data and GS results "point_cloud.ply" and fusion result"0.pt", the viser command "Apply text prompt" has no response. And there is no error in the process

sharinka0715 commented 1 month ago

Segmentation Failed!(New problem) I have replaced the original GS result in the first step, and run the "train.py fusion.py distill.py" 3 files successfully. When I run the "view_viser.py" with my colmap data and GS results "point_cloud.ply" and fusion result"0.pt", the viser command "Apply text prompt" has no response. And there is no error in the process

Hello, If you mean that you cannot view feasible segmentation results in viser webpage after you click the 'Apply text prompt', there are many possible reasons.

xiyufeng2 commented 1 month ago

When I run the 'distill.py': Loading iteration 5000... 1%|▎ | 5/742 [00:03<07:22, 1.67it/s] File "/home/xzz/semantic-gaussians/model/renderer.py", line 111, in render rendered_image, radii, depth = rasterizer( num_rendered, color, radii, geomBuffer, binningBuffer, imgBuffer, depth = _C.rasterize_gaussians(*args) RuntimeError: numel: integer multiplication overflow

numel: integer multiplication overflow can't be avoided

xiyufeng2 commented 1 month ago

It secceed when I use the "diff_gaussian_rasterization" to replace "rgbd_gaussian_rasterization". But it's always "out of memory" when I run the "distill.py" with RTX 4090. How to reduce the memory occupacy???

sharinka0715 commented 1 month ago

It secceed when I use the "diff_gaussian_rasterization" to replace "rgbd_gaussian_rasterization". But it's always "out of memory" when I run the "distill.py" with RTX 4090. How to reduce the memory occupacy???

We admit that Semantic Gaussians is not memory-efficient, and if you use a 3DGS with a large number of Gaussian points (e.g., over 1 million points), the GPU memory cost would be large during 3D distillation training.

What you can do to reduce the memory occupancy includes reducing the training batch size to 1, reducing the resolution of the scene, or just using the 2D projection result.

By the way, there are some papers (e.g. LangSplat) which trains an autoencoder to reduce the dimension of CLIP embeddings, and it is possible to integrate with our 3D distillation network. But we would not contribute this to our paper.