我用的是在window11版本上的WSL2,WLS2是用在window版本上的Linux。
首先进入我的ubuntu
PS C:\Users\15718> wsl
(base) zzq@zzq:/mnt/c/Users/15718$
安装
git clone https://github.com/muskie82/MonoGS.git --recursive
cd MonoGS
安装环境
conda env create -f environment.yml
conda activate MonoGS
上面的是实验源码的教程,但是对于每个人的确实不一样。我自己安装的是
cuda12.1.1
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda-repo-wsl-ubuntu-12-1-local_12.1.1-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-12-1-local_12.1.1-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-12-1-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda
创建虚拟环境
conda create --name MonoGS python=3.9
conda activate MonoGS
pytorch2.1.1(好像是)
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
按照 environment.yml 修改一下需要安装的环境,不要使用 environment.yml 安装
其中,自己安装一下 diff-gaussian-rasterization 和 simple-knn ,clone下来的MonoGS代码不全
Submodules/diff-gaussian-rasterization:
diff-gaussian-rasterization下载地址
Diff-gaussian-rasterization 中 third_party/glm:
glm下载地址
Submodules/simple-knn:
simple-knn下载地址
pip install plyfile==0.8.1 -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install python==3.7.13 -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install pip==24.0 -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install tqdm -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install submodules/simple-knn -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install submodules/diff-gaussian-rasterization -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install opencv-python==4.8.1.78 -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install munch -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install trimesh -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install evo==1.11.0 -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install open3d==0.17.0 -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install torchmetrics -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install imgviz -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install PyOpenGL -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install glfw -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install PyGLM -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install wandb -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install lpips -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install rich -i https://mirrors.huaweicloud.com/repository/pypi/simple
pip install ruff -i https://mirrors.huaweicloud.com/repository/pypi/simple
安装成功
下载data,demo
bash scripts/download_tum.sh
python slam.py --config configs/mono/tum/fr3_office.yaml
安装中存在的问题
1:cuda11.6出错
我觉得源代码中提到的cuda11.6(我用的是ubuntu20.04)存在问题,导致我在安装 diff-gaussian-rasterization 和 simple-knn 的时候一直出现问题,所以我后面自己用的是cuda12.1。
2:wsl安装了12.1之后nvcc -V没反应
参考linux上多个CUDA切换使用(小白教程)_linux 更改默认cuda-优快云博客
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/extras/CUPTI/lib64
3:WSL2打不开X,图形化界面
教程来自此(在下面的评论区)
如果有人不知道,有一种更简单的方法。2021 年,Microsoft给了我们 WSLg。🎉
Windows 11 和 Windows 10 22H2(内部版本 19044.2311 或更高版本)包括 WSLg。
建议使用 vGPU (Intel AMD Nvidia) 驱动程序。
WSLg 与 WSL1 不兼容。新的 WSL2 实例基本上可以正常工作™。
较旧的 WSL2 系统需要更新一次:
- 在管理 PowerShell 中:
wsl --update
wsl --shutdown
强制重启 WSL
不要忘记删除您可能对$DISPLAY
所做的任何其他修改!
4:X Error of failed request: GLXBadFBConfig
参考教程:升级OpenGL的版本
旧版本:
升级之后:
export MESA_GL_VERSION_OVERRIDE=4.5
新的问题出现
5:在WSL2中开启OpenGL直接渲染
在前面失败了一次,原因是安装了OpenGL
进一步的升级OpenGL
sudo add-apt-repository ppa:kisak/kisak-mesa
sudo apt update && sudo apt upgrade
然后失败了,就从头开始做,直接开启直接渲染就行,不用下载OpenGL
最后的经验
自己安了一个双系统
因为在wsl2上实验失败了(问题1,2,3,4,5)
在实验室的服务器上实验失败了(问题:无法可视化)
最后安装双系统然后根据上面的做法做下来就成功了
注意!!因为MonoGS比较新,所以很多出现的问题没办法在网络上找到
可以尝试在论文开源的代码下面,找到issue,然后看看里面有没有跟你一样的问题,如果找不到问题所在,可以直接在里面发布自己的问题,问作者,作者会回答的!!!
最后的配置:cuda11.8