CUHK-AIM-Group / EndoGaussian

EndoGaussian: Real-time Gaussian Splatting for Dynamic Endoscopic Scene Reconstruction
https://yifliu3.github.io/EndoGaussian/
MIT License
112 stars 6 forks source link

RuntimeError occured in training progress when iteration more than 3000 #9

Closed HsiehTPE closed 9 months ago

HsiehTPE commented 9 months ago

Dear devs,

When I test the latest version of code, an error occurs.

I try to set different iterations value in arguments/endonerf/pulling.py(or cutting.py), and I find that once the value is more than 3000, the training progress will stop at 3100 and report an error: RuntimeError: mat1 and mat2 shapes cannot be multiplied (0x1 and 128x32).

Here is the screenprint of the terminal:

image

I remember it won't happen in the earlier version code. I wonder how this kind of error happen and how to fix it? Big Thanks for your reply!

yifliu3 commented 9 months ago

Hi,

In the updated version, I changed the config file, where the opacity_reset_interval is changed. Based on your experiments, it seems that after the reset Gaussian opacity, the performance decreases until getting errors. So a potential solution is to set the opacity_reset_interval larger than your iterations, (e.g. 4000), to avoid the problem.

As for the reason that the error happens, I guess that after the opacity reset, some Gaussians are optimized away from the range of the deformation voxel, thus the query point has 0 dimensions and leads to the error.

HsiehTPE commented 9 months ago

The problrm has been solved,

Thanks for your reply!