一、nerfstudio简介
找到这里你大概也知道nerfstudio是做啥的了,这是官网地址,因复现实验经常使用到,在此记录安装过程。
Nerfstudio 最初是由伯克利人工智能研究中心(BAIR)KAIR 实验室的伯克利学生于 2022 年 10 月作为研究项目(论文)的一部分推出的开源项目。 Nerfstudio 提供了一个简单的应用程序接口,可简化创建、训练和测试 NeRF 的端到端流程。 该库通过将每个组件模块化,支持更易于解释的 NeRFs 实现。 有了更多模块化的 NeRF,在探索技术的过程中为用户创造更友好的体验。 这是一个对贡献者友好的资源库,目标是建立一个社区,让用户可以更轻松地在彼此贡献的基础上进行开发。
二、安装
我在ubuntu20.04上安装的,要求python版本在3.8及以上,提前安装anaconda。
conda create --name nerfstudio -y python=3.8
conda activate nerfstudio
python -m pip install --upgrade pip
接下来安装依赖,官方推荐使用torch版本 2.1.2 跟CUDA 11.8。如果你在当前环境中安装过torch可先卸载,没有可跳过。
pip uninstall torch torchvision functorch tinycudann
安装 PyTorch 2.1.2 和 CUDA 11.8,要是安装到一半失败的话多试几次,安装不了的话直接换镜像源。
pip install torch==2.1.2+cu118 torchvision==0.16.2+cu118 --extra-index-url https://download.pytorch.org/whl/cu118
要构建必要的 CUDA 扩展,还需要 cuda-toolkit。 建议使用 conda 安装(截图是已经安装成功的):
conda install -c "nvidia/label/cuda-11.8.0" cuda-toolkit
接下来安装tiny-cuda-nn
pip install ninja git+https://github.com/NVlabs/tiny-cuda-nn/#subdirectory=bindings/torch
假如出现意外tiny-cuda-nn安装失败,建议直接从github拉取源码编译安装。
git clone https://github.com/NVlabs/tiny-cuda-nn
不出意外的话拉取的tiny-cuda-nn会缺少fmt的依赖,如果报fmt文件夹已存在,将空的fmt文件夹删除,再执行。
git clone https://github.com/fmtlib/fmt.git dedependencies/fmt
假如报错没得cutlass(不是cutclass哦),同fmt处理
git clone https://github.com/NVIDIA/cutlass.git dependencies/cutlass
废了九牛二虎之力,终于安装上,太TM操蛋了。
tips:假如拉取项目太慢,可以直接到github下载压缩包解压到相应位置。
ok,到这里就完成依赖的安装,开始安装nerfstudio
pip install nerfstudio
如果你想从源代码编译安装最新版本可以如下操作:
git clone https://github.com/nerfstudio-project/nerfstudio.git
cd nerfstudio
pip install --upgrade pip setuptools
pip install -e .
以下是可选安装,可使nerfstudio更方便使用。(可以不用管)
当 CLI 发生变化(例如更新了 nerfstudio)时需要重新运行。
ns-install-cli
安装开发包
pip install -e .[dev]
pip install -e .[docs]
使用Pixi(一款基于现有conda生态系统的快速软件包管理器,可以快速启动开发环境)
curl -fsSL https://pixi.sh/install.sh | bash
git clone https://github.com/nerfstudio-project/nerfstudio.git
cd nerfstudio
pixi run post-install
pixi shell