Linux下的Segment Any 3D Gaussians环境配置

1、准备工作

代码下载: 

        可以从GitHub直接下载,也可以使用提供的git链接下载。

数据下载:

        作者提供了几种数据下载链接,也可以直接使用NeRF中的LLFF数据集,这里就不提供链接。

2、环境安装

        代码中提供了envrioment.txt,但直接pip进行安装不太能安装成功。在安装环境之前需先检查cuda版本,在后面安装pytorch3d的时候用的上。

      (1) 创建并激活新环境:

        conda create -n SAGA python==3.8

        conda activate SAGA

        (2)pytorch、torchvision、torchaudio安装

        这个需要对着pytorch官网,找到自己电脑对应的torch版本进行安装即可。安装完成检查torch、cuda是否可用。

        检查torch:

        import python 

        import torch (如果import之后不出现报错就说明torch可用

        torch.cuda.is_availble (如果输出为True则说明cuda可用

        (3)pytorch3d安装

        在安装完pytorch之后直接进行pytroch3d的安装,pytorch3d的安装算是整个过程最棘手的,但找对链接就还好。(感谢某位群友大佬提供的链接

PyTorch3D 安装记录_pytorch3d官网-CSDN博客

pytorch3d安装:Files :: Anaconda.org

 根据前面查到的cuda版本和torch版本选择适合的pytorch3d版本

        (4)submodules和thirty_party安装

        submodules中作者有提供代码,则直接进入submodules文件夹下进行安装。

cd submodules/diff-gaussian-rasterization

pip install -e .

cd ..

cd diff-gaussian-rasterization_contrastive_f

pip install -e .

cd ..

cd  simple-knn

pip install -e .

cd ../..

 thirty_party的安装和上述一致

注:

在submodules中的文件,需要将每个文件中setup.py的下面那句代码修改,不然会报错

        (5)其他安装

安装完上述内容其他部分直接对着envrioment.txt进行pip就行。

3、运行代码

        运行直接按照作者提供的代码进行运行即可。(在第一次运行中出现了训练过程中出现“已杀死”的问题,后面检查很久才发现是运存不够,后面换成64g的运存才能成功跑起来。

4、其他问题:

(1)RuntimeError: Tensors of type TensorImpl do not have sizes

解决办法:找到对应的文件,将其删除,然后重新pip install -e .  ,比如说我的报错是从diff-gaussian-rasterization中import的文件出现问题,就将diff-gaussian-rasterization文件夹删除,然后重新安装就行。

(2)出现一大段的符号

解决办法:在终端输入:export  CUDA_HOME=/usr/home/cuda

  • 22
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Segmentation fault(段错误)通常是由于程序访问了无效的内存地址引起的。在 Linux 中,可以使用以下方法来查看段错误的原因: 1. 使用 gdb 调试器 使用 gdb 可以帮助我们定位代码中出现段错误的位置。首先,需要在编译时加上 `-g` 选项生成调试信息。然后,在运行程序时,使用 gdb 启动程序,并在出现段错误时停止程序。可以使用 `bt` 命令查看调用栈,找到出现段错误的位置。例如: ``` $ gcc -g -o myprogram myprogram.c $ gdb myprogram (gdb) run Starting program: /home/user/myprogram Program received signal SIGSEGV, Segmentation fault. 0x00005555555546d3 in main () (gdb) bt #0 0x00005555555546d3 in main () ``` 在上面的示例中,我们在 `main` 函数中出现了段错误。 2. 使用 valgrind 工具 valgrind 是一款用于检测内存泄漏和内存访问错误的工具。可以在 Linux 中使用以下命令来安装 valgrind: ``` $ sudo apt-get install valgrind ``` 然后,在运行程序时使用 valgrind 工具检测内存错误。例如: ``` $ valgrind ./myprogram ``` valgrind 会输出内存错误的详细信息,帮助我们定位问题。 3. 使用系统日志 当程序出现段错误时,Linux 系统会将错误信息写入系统日志。可以使用以下命令来查看系统日志: ``` $ dmesg | tail ``` 在输出中,可以找到与段错误相关的信息,例如内存地址和错误代码。 通过以上方法,我们可以定位并解决程序中出现的段错误。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值