Mani-GS 运行指南
一 运行过程
这个代码需要cuda11.6,我直接去下载相关的版本
然后按照readme去安装所有的环境即可
然后比较麻烦的是这一堆数据怎么处理:
NeRF synthetic dataset :output.zip 400+ MB大小,存放的内容放在output.zip即可
https://drive.google.com/file/d/1nWOQcIqVn7CZNJEZikVDB_06Sg12Ww3k/view?usp=drive_link
二 遇到的bug记录
1. 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)`
解决方法:命令行里运行即可
unset LD_LIBRARY_PATH
2.安装PyMCubes遇到与numpy版本不匹配
ERROR: Ignored the following versions that require a different python version: 1.25.0 Requires-Python >=3.9; 1.25.0rc1 Requires-Python >=3.9; 1.25.1 Requires-Python >=3.9; 1.25.2 Requires-Python >=3.9; 1.26.0 Requires-Python <3.13,>=3.9; 1.26.0b1 Requires-Python <3.13,>=3.9; 1.26.0rc1 Requires-Python <3.13,>=3.9; 1.26.1 Requires-Python <3.13,>=3.9; 1.26.2 Requires-Python >=3.9; 1.26.3 Requires-Python >=3.9; 1.26.4 Requires-Python >=3.9; 2.0.0 Requires-Python >=3.9; 2.0.0b1 Requires-Python >=3.9; 2.0.0rc1 Requires-Python >=3.9; 2.0.0rc2 Requires-Python >=3.9
ERROR: Could not find a version that satisfies the requirement numpy~=2.0 (from versions: 1.3.0, 1.4.1, 1.5.0, 1.5.1, 1.6.0, 1.6.1, 1.6.2, 1.7.0, 1.7.1, 1.7.2, 1.8.0, 1.8.1, 1.8.2, 1.9.0, 1.9.1, 1.9.2, 1.9.3, 1.10.0.post2, 1.10.1, 1.10.2, 1.10.4, 1.11.0, 1.11.1, 1.11.2, 1.11.3, 1.12.0, 1.12.1, 1.13.0, 1.13.1, 1.13.3, 1.14.0, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.14.5, 1.14.6, 1.15.0, 1.15.1, 1.15.2, 1.15.3, 1.15.4, 1.16.0, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.16.6, 1.17.0, 1.17.1, 1.17.2, 1.17.3, 1.17.4, 1.17.5, 1.18.0, 1.18.1, 1.18.2, 1.18.3, 1.18.4, 1.18.5, 1.19.0, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.19.5, 1.20.0, 1.20.1, 1.20.2, 1.20.3, 1.21.0, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.22.0, 1.22.1, 1.22.2, 1.22.3, 1.22.4, 1.23.0rc1, 1.23.0rc2, 1.23.0rc3, 1.23.0, 1.23.1, 1.23.2, 1.23.3, 1.23.4, 1.23.5, 1.24.0rc1, 1.24.0rc2, 1.24.0, 1.24.1, 1.24.2, 1.24.3, 1.24.4)
ERROR: No matching distribution found for numpy~=2.0
解决方法:降低版本就好了,简直是甜菜!
pip install PyMCubes==0.1.4
3. Failed to run_nerf_stage2.sh:Could not recognize scene type!
(mani-gs) ➜ Mani-GS git:(main) ✗ sh script/run_nerf_stage_2.sh # neus mesh as default
Current model path: output/NeRF_Syn/lego/3dgs-neus-best-mask-HP10-no-reg
Current rendering type: bind
Optimizing output/NeRF_Syn/lego/3dgs-neus-best-mask-HP10-no-reg
Set seed!
Output folder: output/NeRF_Syn/lego/3dgs-neus-best-mask-HP10-no-reg
/home/cyberbus/xgh/Mani-GS/datasets/nerf_synthetic/lego/inputs/sfm_scene.json
Traceback (most recent call last):File "train.py", line 638, in <module>training(lp.extract(args), op.extract(args), pp.extract(args), is_pbr=is_pbr)File "train.py", line 34, in trainingscene = Scene(dataset, gaussians)File "/home/cyberbus/xgh/Mani-GS/scene/__init__.py", line 61, in __init__assert False, "Could not recognize scene type!"
AssertionError: Could not recognize scene type!
这个bug其实是作者readme提供数据连接有问题,参见这个issue:
https://github.com/gaoxiangjun/Mani-GS/issues/17
然后就没啥问题了
4. 运行nerf渲染lego没有视频生成
参考这个issue:https://github.com/gaoxiangjun/Mani-GS/issues/17
三 运行指南
训练过程:
sh script/run_nerf_stage_1.sh # (optional)
sh script/run_nerf_stage_2.sh # neus mesh as default
渲染过程:
sh script/run_nerf_demo.sh