github链接:https://github.com/ingra14m/Specular-Gaussians
git clone https://github.com/ingra14m/Spec-Gaussian --recursive
cd Spec-Gaussianconda create -n spec-gaussian-env python=3.7
conda activate spec-gaussian-env# install pytorch
pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 --extra-index-url https://download.pytorch.org/whl/cu116
pip install torch-scatter -f https://data.pyg.org/whl/torch-1.13.0+cu116.html# install dependencies
pip install -r requirements.txt
实践环境:
nvidia RTX 4090
ubuntu 20.04
注意点:
1. Specular-Gaussians代码依赖的有 Submodules,点进去Submodules文件夹可以看到依赖的是depth-diff-gaussian-rasterization @ d595eac和simple-knn @ 44f7642。git clone语句中带参--recursive就是为了拉取子模块的代码,没有--recursive将不会拉取。
2.运行'''pip install torch==1.13.1+cu116...'''这个语句,不需要使用清华源,但会受到网速的影响,我使用的是校园网(ps:本人在校园网各个时间段的下载速度差距很大,第一次试是1MB左右,停止下载隔了一段时间后再次运行时就变成10MB左右了😅)。
3.运行“pip install -r requirements.txt”建议带上临时清华源
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
4.运行 “pip install -r requirements.txt” 会报错:
OSError: CUDA_HOME environment variable is not set. Please set it to your CUDA
或者是
No such file or directory ‘/usr/local/cuda/bin/nvcc’
这个报错的含义是没有设置CUDA_HOME这个环境变量 / 即使设置了CUDA_HOME也没找到,设置这个环境变量的前提是得先conda install cudatoolkit(安装CUDA就是安装CUDA Toolkit)。但是执行 “torch==1.13.1+cu116” 是已经安装好内置的cuda11.6(这里涉及到cuda和内置cuda的区别,见下述附录)。照理来说,是无需理会此报错,直接进行下一步train代码是不会有问题的。
本文为了不显示报错,执行安装cudatoolkit:
(1) 首先在conda环境中执行
nvcc -V
如果 ubuntu系统没有安装cudatoolkit 或 conda环境中没有安装cudatoolkit,是会显示以下信息
nvcc: command not found
(2) 执行以下语句,在conda环境中安装cudatoolkit
注意cudatoolkit-dev和cudatoolkit的区别。install cudatoolkit不会包含nvcc,需要再单独conda install -c nvidia cuda-nvcc。cudatoolkit-dev会包含nvcc。可以通过执行which nvcc命令查找nvcc安装的路径。
# -c conda-forge代表使用官方源中的conda-forge目录下的文件,本文采用别人推荐使用的官方源
# 11.6是为了与 torch内置的cuda11.6匹配
conda install -c conda-forge cudatoolkit-dev==11.6.0
在anaconda环境中使用conda命令安装cuda、cudnn、tensorflow(-gpu)、pytorch_conda安装cudnn-CSDN博客
(3) 执行完安装cudatoolkit后的语句后,运行以下命令查看是否安装成功
conda list
(4) 此时执行 “nvcc -V”,发现出现以下信息
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Tue_May__3_18:49:52_PDT_2022
Cuda compilation tools, release 11.7, V11.7.64
Build cuda_11.7.r11.7/compiler.31294372_0
(5) 执行
which nvcc
显示nvcc安装的路径
/home/[USER_NAME]/anaconda3/envs/spec-gaussian-env/bin/nvcc
(6) 执行以下,设置CUDA_HOME环境变量
export CUDA_HOME=/home/[USER_NAME]/anaconda3/envs/spec-gaussian-env
执行以下,查看CUDA_HOME环境变量设置成功
echo $CUDA_HOME
(7) 此时,再执行 “pip install -r requirements.txt” 就不会报错了
5. 下载数据集,根据github中给的数据集目录结构,新建data文件夹和Mip-360文件夹,将数据集解压缩并放入指定的文件夹下
6. 训练。作者推荐使用 Train without anchor,(本文运行Train with anchor会出现bug,作者回复近期纠正),本文下载了bicycle这个数据集360_v2(很大12.5G)
python train.py -s data/mipnerf-360/bicycle -m outputs/mip360/bicycle --eval -r 4 --is_real --asg_degree 12
训练结果在test文件夹中,没有3d环绕视图
附录:
安装CUDA就是安装CUDA Toolkit,“torch==1.13.1+cu116” 中的cu116是会安装内置cuda,满足了torch运行的基本需要。由此,cu116是CUDA Toolkit的子集。在此,推荐
Python深度学习:安装Anaconda、PyTorch(GPU版)库与PyCharm
这个视频。视频中说的大CUDA就是cudatoolkit,小cuda就是pip install torch==1.13.1+cu116中的内置cu116。虽然视频中用的是windows系统,但可推广至Linux系统