diff-gaussian-rasterization安装(踩坑)记录

部署运行你感兴趣的模型镜像


前言

  • A100服务器上给TriplaneGaussian配环境的时候,在diff-gaussian-rasterization上花了许多时间,踩了许多坑,特此记录。
  • 安装diff-gaussian-rasterization一定要有nvcc,即nvcc -V这个指令要有输出,如果没有输出,可以用conda create -n (env_names) python=3.10 cudatoolkit=11.8 -c nvidia -y安装虚拟环境。

注意事项

  1. Python = 3.10。虽然TriplaneGaussian上说Python >=3.8 即可,但实测得Python=3.10才能装上diff-gaussian-rasterization。(有人说Python=3.9也行,但没试过)
  2. PyTorch的cu >= 121。cu <= 118会报错,说是CUDA版本不匹配,可以在PyTorch官网上找合适的版本,用的是这个命令安装:pip install torch==2.2.0 torchvision==0.17.0 torchaudio==2.2.0 --index-url https://download.pytorch.org/whl/cu121
  3. gcc = 7.3.0。gcc版本高了会报错,在anaconda环境下升级gcc可以参考这个链接
  4. setup.py。diff-gaussian-rasterization里头的setup.py改成下面这个:
from setuptools import setup
from torch.utils.cpp_extension import CUDAExtension, BuildExtension
import os

os.path.dirname(os.path.abspath(__file__))

setup(
    name="diff_gaussian_rasterization",
    packages=['diff_gaussian_rasterization'],
    ext_modules=[
        CUDAExtension(
            name="diff_gaussian_rasterization._C",
            sources=[
                "cuda_rasterizer/rasterizer_impl.cu",
                "cuda_rasterizer/forward.cu",
                "cuda_rasterizer/backward.cu",
                "rasterize_points.cu",
                "ext.cpp"
            ],
            extra_compile_args={
                "nvcc": [
                    "-I" + os.path.join(os.path.dirname(os.path.abspath(__file__)), "third_party/glm/"),
                    "-std=c++17" 
                ],
                "cxx": ["-std=c++17"]
            }
        )
    ],
    cmdclass={
        'build_ext': BuildExtension
    }
)

报错:ModuleNotFoundError: No module named 'torch'

  • 解决办法:参考Github上的Issue,把
pip install ./diff-gaussian-rasterization-main

改成

pip install ./diff-gaussian-rasterization-main --no-build-isolation

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

在Windows系统下,运行3D Gaussian splatting等相关项目大概率会用到diff - gaussian - rasterization模块,但该模块安装易出错。以下是其安装和配置方法: 1. **下载visual studio2019**:安装2019版的visual studio,且不要安装最新2022版,也不要在2022版里选择2019的C++,因为可能扫描不到。安装时,有相关组件即可,同时要进行环境配置,将相关变量`C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64`加入到环境变量中 [^4][^5]。 2. **安装conda依赖**:执行`conda install -c anaconda vs2019_win-64`,最后重启电脑 [^4]。 3. **下载文件**:直接在作者提供的完整代码下下载diff - gaussian - rasterization包通常不完整。可从`https://github.com/graphdeco-inria/diff-gaussian-rasterization/tree/9c5c2028f6fbee2be239bc4c9421ff894fe4fbe0`下载diff - gaussian - rasterization,从`https://github.com/g-truc/glm/tree/5c46b9c07008ae65cb81ab79cd677ecc1934b903`下载glm,下载完把glm放在相应路径下 [^3][^5]。 4. **修改torch代码**:通过conda命令行下载pytorch后,进入相对应环境内修改代码。将`kwargs.get`中的`True`改为`False`,示例代码如下: ```python def __init__(self, *args, **kwargs) -> None: super().__init__(*args, **kwargs) self.no_python_abi_suffix = kwargs.get("no_python_abi_suffix", False) self.use_ninja = kwargs.get('use_ninja', False) if self.use_ninja: ``` 5. **安装模块**:执行安装指令`pip install submodules\diff-gaussian-rasterization` [^4]。 若在安装时遇到`TypeError: GaussianRasterizationSettings.__new__() got an unexpected keyword argument`报错,可按以下步骤解决: 1. 若已安装,查看diff - gaussian - rasterization是否为最新版。若不是,则进入对应路径,卸载当前的diff - gaussian - rasterization,执行`pip uninstall diff-gaussian-rasterization -y`和`sudo rm -rf diff-gaussian-rasterization/`。 2. 下载最新版,按上述提供的地址下载diff - gaussian - rasterization和glm,并将glm放在相应路径下。 3. 进入对应路径,重新安装,执行`pip install -e submodules/gaussian-splatting/submodules/diff-gaussian-rasterization` [^3]。 关于该模块在Windows系统下的使用,因引用未提及,暂无法提供详细信息。一般而言,安装和配置好后,在相关的3D Gaussian splatting等项目中导入该模块即可使用。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值