CUHK-AIM-Group / EndoGaussian

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

Building submodules not working on windows and linux #5

Closed Enzo-Kerkhof closed 6 months ago

Enzo-Kerkhof commented 6 months ago

Dear devs,

I would very much like to try the code of your paper, sadly I'm hindered by the installation process on windows and linux. I've followed the 3D-GS repository extensively using their windows youtube walkthrough and after failing the general one for linux. I cannot seem to build the submodules. Is there a compatibility issue with their readme's and your repository? (I've pulled only recusively from your repo until now.) Or is there a compatibility issue with your statement in readme here:

In our environment, we use pytorch=1.13.1+cu116.

Whereas the other readme's all mention I should install CUDA 11.8?

Additionally if you pip install requirements using your requirements file is doesn't install pytorch=1.13.1+cu116, if you need that you would need to run the command provided here. Is this correct? Which version do I need? Let me know if I should provide more information.

Best, Enzo

yifliu3 commented 6 months ago

Dear Enzo,

Thanks for your attention. We've tested the code in the Linux system and found some redundancies in the previous README.md. To install the environment on the Linux system, only the following operations are needed (No need to install other packages from 3DGS):

git clone https://github.com/yifliu3/EndoGaussian.git cd EndoGaussian conda create -n EndoGaussian python=3.7 conda activate EndoGaussian pip install -r requirements.txt pip install -e submodules/depth-diff-gaussian-rasterization pip install -e submodules/simple-knn

For the CUDA version, the torch==1.13.1 in requirements.txt would install automatically the CUDA tools inside the torch package, and we manually checked the version is 11.7 rather than 11.6. Sorry for the confusion of the README.md.

For the submodule compilation, problems may exist when some C/C++ libraries are not installed. You can install them based on the reported errors.

We've updated the README.md to alleviate the confusion. If you have further problems, you can provide more information about the reported errors when installing the enviroments.

Best, Yifan

Enzo-Kerkhof commented 6 months ago

Hi Yifan,

Thank you for the updated readme. I've continued a little further in the building process of diff_gaussian_rasterization. I had to install Ninja based on an error I received after solving problems with the CUDA and torch environments. Additionally, I had to install GLM since it could not include the glm head files. Hope anyone else reading this will save some time! Additional note: CUDA 11.7 only works well with GCC (G++) version 10.3.0 or just everything below 11!

Enzo-Kerkhof commented 6 months ago

On Windows, I've remained unable to install the submodules. With this requirements list on windows pip also does not install cuda enabled pytorch. Using pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu117 however also produces compiling errors within the torch extension which are very unclear. Running clean once results in an specific 'tensor defined as empty' errors while compiling, running again results in cannot include glm errors. Using vcpkg to install glm in the project doesn't solve this.

yifliu3 commented 6 months ago

Hi Enzo,

Thanks for your try at the implementation on Windows. We will test the code implementation on Windows based on your information later. For now, please use Linux as we've tested the code on Linux.

Enzo-Kerkhof commented 6 months ago

Ok, back on Linux I recompiled the code with GCC version 11.3.0 and now it is running. With 10.3.0 I still got a dependency error GCCcore/10.3.0/lib64/libstdc++.so.6: version `GLIBCXX_3.4.29' not found .