hawcat
文章27
标签36
分类9

文章分类

文章归档

Gaussiansplatting子模块编译

Gaussiansplatting子模块编译

{D2277FC1-F78E-4cd9-B4EB-370EEB91CD07}

最近跑到一个华为做的一个关于高斯的项目,编译环境的时候遇到了不少坑,开个贴记录一下:

  • 坑点1:Ninja在windows下的输出问题:

感觉这个问题也是老生常谈的问题了,不算什么坑,但要注意一下。在pytorch中关于调用ninja进行编译的时候,会通过捕获subprocess的输出先对ninja版本进行判断以确定环境中是否含有ninja(具体代码在Lib\site-packages\torch\utils\cpp_extension.py),然而在中文版的cmd中,代码的指令会由于编码的问题输出为乱码,导致触发except报错。

解决方法也很简单,修改command数组,把命令修改为能在gbk编码下成功获取版本号的命令:

{D55B1860-459B-40f6-8F37-6C6E95F2B2DC}

image-20240222163201566

image-20240222163229032

第二种解决方法更加简单粗暴,直接在setup.py里面禁用ninja,适合ninja跑不通的情况:

image-20240222163445020

  • 坑点二:作者仓库里面缺少文件

    这个坑可能是作者没有指定子git项目,因为在GaussianSplatting官方仓库中,这一块是递归指向另一个仓库,但在作者仓库里面这个文件夹就为空了。

    c955eb94320298c90564415b1e97eee5

7b7b2f05f0788bb969456ff0199c4608

解决方法,递归克隆官方仓库:git clone –recursive https://github.com/graphdeco-inria/gaussian-splatting.git

其次就是一些小问题了,大多都好解决,注意torch版本和cuda版本一致就行。

:D 获取中...

本文作者:hawcat
本文链接:https://hawcat.cn/2024/02/22/gs-1/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可
×