当前位置: 首页 > news >正文

Windows下3DGS环境搭建避坑实录:从CUDA版本冲突到子模块安装,我的4070Ti踩坑全记录

Windows下3DGS环境搭建避坑实录:从CUDA版本冲突到子模块安装,我的4070Ti踩坑全记录

作为一个刚接触3D Gaussian Splatting(3DGS)的Windows平台开发者,我原以为按照教程一步步操作就能顺利完成环境搭建。然而现实给了我当头一棒——从CUDA版本冲突到子模块安装失败,整个过程充满了意想不到的陷阱。本文将详细记录我在NVIDIA RTX 4070Ti显卡上搭建3DGS环境时遇到的各种问题及其解决方案,希望能帮助其他开发者少走弯路。

1. 准备工作:硬件与基础软件配置

在开始之前,确保你的系统满足以下基本要求:

  • 操作系统:Windows 10/11 64位
  • 显卡:NVIDIA显卡(支持CUDA)
  • 存储空间:至少20GB可用空间
  • 开发工具
    • Git for Windows
    • Visual Studio 2019/2022(包含C++开发组件)
    • Anaconda或Miniconda

我的具体配置如下:

  • CPU:Intel i7-13700K
  • 显卡:NVIDIA RTX 4070Ti 16GB
  • 内存:32GB DDR5
  • 系统:Windows 11 22H2

提示:建议在开始前创建一个系统还原点,以防环境配置出错需要回滚。

2. 初始环境搭建与第一个坑:Git子模块问题

按照常规思路,我首先克隆了官方仓库:

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

克隆完成后,我兴冲冲地准备进入下一步,却忽略了最关键的一点——子模块。3DGS项目依赖多个子模块,而默认的克隆命令不会自动下载这些子模块内容。

解决方案: 使用--recursive参数重新克隆:

git clone --recursive https://github.com/graphdeco-inria/gaussian-splatting.git

如果已经克隆了仓库但没有子模块,可以执行以下命令补救:

git submodule update --init --recursive

3. Conda环境创建与CUDA版本冲突

接下来,我按照官方文档创建conda环境:

conda env create -f environment.yml

这时遇到了第一个严重问题:CUDA版本冲突。错误信息显示torch与CUDA版本不兼容。

经过排查,我发现环境文件中指定的torch版本与我的系统CUDA版本(11.7)不匹配。更复杂的是,conda虚拟环境中的CUDA与系统安装的CUDA是不同的概念。

解决方案

  1. 首先检查系统CUDA版本:
nvcc --version
  1. 根据系统CUDA版本修改environment.yml文件中的torch版本。对于CUDA 11.7,我使用了以下配置:
dependencies: - python=3.7 - pytorch=1.13.1+cu117 - torchvision=0.14.1+cu117 - torchaudio=0.13.1 - cudatoolkit=11.7
  1. 重新创建环境:
conda env create -f environment.yml --force

4. 子模块手动安装与CUDA_HOME问题

即使解决了conda环境问题,在安装子模块时又遇到了新的挑战。执行:

pip install submodules/diff-gaussian-rasterization

报错提示CUDA_HOME environment variable is not set。这是因为虽然conda安装了cudatoolkit,但系统环境变量中没有设置CUDA_HOME。

解决方案

  1. 首先确定CUDA安装路径(通常为C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7
  2. 设置环境变量:
set CUDA_HOME=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7 set PATH=%CUDA_HOME%\bin;%PATH%
  1. 验证环境变量是否生效:
echo %CUDA_HOME%
  1. 重新尝试安装子模块。

5. 最终验证与性能测试

解决所有问题后,我使用一个小型数据集进行了测试:

python train.py -s data/example -m output

在RTX 4070Ti上,训练24张图片耗时约36分钟,显存占用稳定在12GB左右。最终生成的3D模型质量令人满意,证明环境配置成功。

整个过程中,我最大的收获是理解了Windows下CUDA环境的复杂性。系统CUDA、conda cudatoolkit和环境变量之间的关系需要特别关注。建议开发者遇到问题时,先理清这些组件之间的关系,再针对性地解决。

http://www.jsqmd.com/news/610341/

相关文章:

  • 坐标系工艺参数的设定
  • 论文阅读:arixv 2026 ClawSafety: “Safe“ LLMs, Unsafe Agents
  • 无公网IP解决方案:OpenClaw内网穿透对接千问3.5-9B
  • 代码审计 | Log4j2 —— CVE-2021-44228 JNDI 注入与递归解析的完整链路分析
  • 2026年地坪修补厂家权威名录:防火地坪漆/厂房高强度空鼓灌浆料/固化地坪染色剂/固化地坪龟裂纹修复剂/选择指南 - 优质品牌商家
  • 使用Alpine配置WSL ssh门户内
  • 2026年MBA辅导值不值得报:笔试EMBA培训、笔试EMBA辅导、笔试MEM培训、笔试MEM辅导、管理类联考培训选择指南 - 优质品牌商家
  • Figma+Cursor联动实战:5分钟搞定AI设计稿生成(含最新manifest导入避坑指南)
  • FreakStudio捎
  • 第7章 序列凸近似(SCA)与迭代优化
  • 智能农业四情监测系统
  • 张量并行(Tensor Parallelism)全面深度解析
  • .NET 9容器化避坑清单,12个导致K8s滚动更新失败的隐藏陷阱及修复代码
  • OpenClaw跨平台同步:Qwen3-14b_int4_awq实现多设备任务接力
  • 打开PCCAD(AutoCAD2013-2017版本)即死机;AutoCAD2018含以上版本,则PCCAD打开正常
  • 开源项目 Agentic OS 实战指南:手把手教你从 ANOLISA 源码安装
  • JAVA多线程并发编程:并发容器与线程协作实战
  • 【实战 03】本地小模型真的能跑 Text2SQL 吗?Qwen2.5-7B 这种“平替”方案的实际表现
  • Windows下OpenClaw安装详解:Qwen3-14b_int4_awq模型接入与调试
  • 融合 PSO 的改进鲸鱼优化算法(PSO‑ImWOA)无人机三维航迹规划研究(Python代码实现)
  • 别再被CVX报错劝退了!手把手教你用inv_pos和rel_entr函数搞定MATLAB凸优化
  • 为什么你的C# 13主构造函数反而变慢了?揭秘字段初始化顺序、属性注入与依赖解析的致命时序冲突
  • ARM与x86架构差异及32/64位开发实践
  • Servlet 服务器 HTTP 响应
  • OpenClaw隐私保护技巧:Qwen3.5-9B-AWQ-4bit本地处理敏感证件照
  • 2026Q2上海企业投资香港审批流程全解析及服务商选型指南:国际海牙认证、大使馆公证认证代办、学历证明海牙认证选择指南 - 优质品牌商家
  • 逆向思维破解滑块验证码:当YOLOv5遇上双缺口与JS混淆
  • Mojo+Python混合编程避坑手册:5个致命安装错误及对应修复命令(附官方源码验证)
  • 高阻态原理与应用:数字电路的隐身术
  • 从原理到实战:拆解OpenCV的inpaint函数,手把手教你用Python‘无痕’去除视频字幕