gaussian-splatting windows环境配置

项目场景:

  • 最近在做nerf相关的毕设,一直是在linux下配置的环境,根据官方README配置直接就可以运行了。
  • 因为想着可能会改cuda的东西,想在windows配置下项目,然后来debug,发现问题比较多,中文教程也较少,结合github上的Issues和看到的博客,记录下配置的过程。
    (这个不是详细的教程,只是记录下碰到的坑,以及能安装成功的方法)

gaussian-splatting:https://github.com/graphdeco-inria/gaussian-splatting

配置过程:

windows下最大的问题就是cuda的版本,torch的版本,以及visual studio的版本

  • linux下是3090的显卡,安装的cuda11.6,官方教程虽然说不要用cuda11.6,但是linux下按照官方的教程配置,似乎没碰到什么问题。(但是SIBR_viewers编译有点问题,目前用的windows下的release可运行版本)

  • windows下是1660super的显卡,先是根据README说的安装前置软件:

    • cuda11.7 (测试了11.6 有点问题,11.8 应该也可以)
    • vs2019(安装时勾选c++桌面开发)
    • 下载COLMAP工具
    • 下载代码(一定要加–recursive) git clone https://github.com/graphdeco-inria/gaussian-splatting --recursive
  • 然后是conda环境配置

    • 这里要是怕vs环境变量没配好,也可以去用vs自带的终端来配置环境,这里面避免了一些vs多版本的问题。
      gaussian-splatting windows环境配置_第1张图片
  • 安装命令,我这里是cuda11.7 和 vs2019

    # 安装环境&激活
    conda create -n gaussian_splatting python=3.7
    conda activate gaussian_splatting
    
    # 根据自己的cuda版本安装torch、torchvision、torchaudio,这个是带cuda的版本
    conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 -c pytorch -c nvidia
    
    # "重点!" 在安装两个cuda写的子模块前
    # 安装下 vs2019_win-64 这个包,可确保 Visual Studio 2019 构建工具可用并设置必要的环境变量
    conda install -c conda-forge vs2019_win-64
    
    # 之后切换到gaussian-splatting目录
    cd xxx\gaussian-splatting
    
    # 然后再安装两个子模块,以及其他包
    pip install submodules/diff-gaussian-rasterization
    pip install submodules/simple-knn
    pip install plyfile tqdm
    
    # 不要直接运行 conda env create --file environment.yml or it breaks
    
  • 然后就可以愉快的训练了
    gaussian-splatting windows环境配置_第2张图片


碰到的bug:

cuda11.6 & cuda11.8都装过了,torch版本 和vs2019 & vs2022都试过,碰到的问题很难解决,建议不要头铁

  • 安装diff-gaussian-rasterization 出现pip无法成功执行setup.py,定位问题ninja这个包的问题:
    ninja Command '['ninja', '-v']' returned non-zero exit status 1.

    • 有人说把torch源码里的-v 改成–version,但是测试后编译build无法生成obj,然后link找不到文件。实际上我感觉是vs的问题,下面这个issue说的 vs2019_win-64 这个库就行:

    https://github.com/graphdeco-inria/gaussian-splatting/issues/522

  • 找不到cl,msvc等,都是visual studio安装的问题

    • 检查下环境变量,在cmd下输出cl看是否正常识别,或者直接在Developer Command Prompt for VS 2019 的终端下配置

  • cuda11.6下,安装错误太多,又是重定义,又是变量冲突。windows下建议不要用11.6。

  • cuda11.8下,conda安装没有官方对应的torch-cuda版,要改下torch版本,我就没有深入去尝试了,看到也有成功配置的。应该安装 vs2019_win-64 之后也是可以的。
    https://github.com/graphdeco-inria/gaussian-splatting/issues/188

  • 主要问题就在于安装vs之后,在conda环境里 conda install -c anaconda vs2019_win-64 ,还要安装扩展包。然后cuda版本不要是11.6,也不要大于12,最好是11.7 & 11.8。此外不要直接用官方的 environment.yml 来配置环境。

  • viewer不需要编译,直接用官方编译好的版本 bin\SIBR_gaussianViewer_app.exe
    https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/binaries/viewers.zip

你可能感兴趣的:(windows,深度学习,python,人工智能,计算机视觉)