3d gaussian splatting代码复现

配置:使用远程服务器,cuda11.6   ubuntu20.04(不是相同的配置可能会出现报错)

复现过程:出错版(最后有总结版)

1.下载文件

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

2.确保系统为11版本的cuda(我使用11.6),并将下面内容加入.bashrc(在根目录)文件中。

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.6/lib64
export PATH=$PATH:/usr/local/cuda-11.6/bin:/usr/bin
export CUDA_HOME=/usr/local/cuda-11.6

注意事项:修改后需要运行'. ~/.bashrc'激活,并重新激活conda环境
可以用nvcc -V指令查看版本

3.在下载的文件目录下运行

 conda env create --file environment.yml

4.

sudo apt-get install g++

pip install submodules/diff-gaussian-rasterization

pip install submodules/simple-knn

5.训练:下载数据集:https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/

python train.py -s data/tandt/truck

6 . 报错:

(gaussian_splatting) xxx@ubun:~/code/3DGS/gaussian_splatting/gaussian-splatting$ python train.py -s data/tandt/truck
Optimizing 
Output folder: ./output/9938b9c6-c [19/09 21:55:07]
Tensorboard not available: not logging progress [19/09 21:55:07]
Reading camera 251/251 [19/09 21:55:08]
Loading Training Cameras [19/09 21:55:08]
Traceback (most recent call last):
  File "train.py", line 219, in <module>
    training(lp.extract(args), op.extract(args), pp.extract(args), args.test_iterations, args.save_iterations, args.checkpoint_iterations, args.start_checkpoint, args.debug_from)
  File "train.py", line 35, in training
    scene = Scene(dataset, gaussians)
  File "/home/wangbeibei/code/DeepLearing_test/3DGS/gaussian_splatting/gaussian-splatting/scene/__init__.py", line 73, in __init__
    self.train_cameras[resolution_scale] = cameraList_from_camInfos(scene_info.train_cameras, resolution_scale, args)
  File "/home/wangbeibei/code/DeepLearing_test/3DGS/gaussian_splatting/gaussian-splatting/utils/camera_utils.py", line 58, in cameraList_from_camInfos
    camera_list.append(loadCam(args, id, c, resolution_scale))
  File "/home/wangbeibei/code/DeepLearing_test/3DGS/gaussian_splatting/gaussian-splatting/utils/camera_utils.py", line 52, in loadCam
    image_name=cam_info.image_name, uid=id, data_device=args.data_device)
  File "/home/wangbeibei/code/DeepLearing_test/3DGS/gaussian_splatting/gaussian-splatting/scene/cameras.py", line 56, in __init__
    self.full_proj_transform = (self.world_view_transform.unsqueeze(0).bmm(self.projection_matrix.unsqueeze(0))).squeeze(0)
RuntimeError: CUDA error: CUBLAS_STATUS_NOT_SUPPORTED when calling `cublasSgemmStridedBatched( handle, opa, opb, m, n, k, &alpha, a, lda, stridea, b, ldb, strideb, &beta, c, ldc, stridec, num_batches)`

7. 解决方案:参考链接

pip install torch==1.12.1+cu116 torchvision==0.13.1+cu116 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu116

总结:完整版无报错复现过程:

git clone https://github.com/graphdeco-inria/gaussian-splatting --recursive
//需要检查submodules下面两个文件夹是否为空(确保非空)
                                                              

在/home/“你的名字”/.bashrc文件中添加:
      export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.6/lib64
      export PATH=$PATH:/usr/local/cuda-11.6/bin:/usr/bin
      export CUDA_HOME=/usr/local/cuda-11.6
# 注意事项:修改后需要运行'. ~/.bashrc'激活,并重新激活conda环境
                                                              

conda env create --file environment.yml
conda activate gaussian_splatting

//添加内容解决cuda与torch版本问题:
pip install torch==1.12.1+cu116 torchvision==0.13.1+cu116 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu116

sudo apt-get install g++
pip install submodules/diff-gaussian-rasterization
pip install submodules/simple-knn
下载数据集:https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/ 
python train.py -s data/tandt/truck
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值