最近在学习这个,需要配置环境。总的来说挺好配的,但是有点问题,需要记录一下。
环境问题
克隆仓库:
1
git clone --recursive https://github.com/y-u-a-n-l-i/Climate_NeRF.git
创建环境:
1
conda create -n climatenerf python=3.8 和 conda activate climatenerf
安装 torch 等:
1
pip install torch==1.11.0 torchvision==0.12.0 --extra-index-url https://download.pytorch.org/whl/cu113
安装torch-scatter:
1
pip install torch-scatter -f https://data.pyg.org/whl/torch-1.11.0+cu113.html
安装 cmake:
1
conda install cmake
安装 nvcc:
需要指定版本
1
conda install -c "nvidia/label/cuda-11.7.0" cuda-nvcc
头文件:
1
conda install -c conda-forge cudatoolkit-dev
安装 tinycudann 的 PyTorch extension:需要注意要根据这个
来安装 float32 precision 的
克隆 tinycudann:
1
git clone --recursive https://github.com/nvlabs/tiny-cuda-nn
cd tiny-cuda-nn
这个地方由于服务器环境的原因 cmake 参数需要设置一下,同时在 gpu 节点上运行:
1
2cmake . -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo -S . -G Ninja
cmake --build build --config RelWithDebInfo -j安装 PyTorch extension:
1
2cd bindings/torch
python setup.py install安装 mmsegmentation:GET STARTED: INSTALL AND RUN MMSEG:
Install MMCV using MIM
1
2
3pip install -U openmim
mim install mmengine
mim install "mmcv>=2.0.0"Install MMSegmentation
1
pip install "mmsegmentation>=1.0.0"
下载 segmentation model
segformer_mit-b5_8xb1-160k_cityscapes-1024x1024
到合适的文件夹中:1
mim download mmsegmentation --config segformer_mit-b5_8xb1-160k_cityscapes-1024x1024 --dest .
安装 MTMT:
1
pip3 install --no-build-isolation git+https://github.com/lucasb-eyer/pydensecrf.git
安装这个的时候出现了一些问题(如下图)。错误的原因是缺失 pydensecrf/eigen.cpp 这个文件。需要换用另一种方式下载 pydensecrf
1
conda install -c conda-forge pydensecrf
下载 MTMT 的 checkpoint:Trained Model
安装剩余的依赖:
1
pip install -r requirements.txt
在这其中安装 cupy 的时候出错了。使用命令
单独安装(要根据自己的 cuda 版本来),然后删掉 requirements.txt 中的 cupy 这一项1
pip install cupy-cuda113
安装 cuda extension:
1
pip install models/csrc
注意需要
pip >= 22.1
(照着流程来的话 pip 版本应该不会错),并且该安装要在 gpu 节点上进行
然后应该就可以运行了。跑个 training 试试看。
训练问题
- ftfy 和 regex
直接安装:pip install ftfy
和
pip install regex
- cuda 头文件(这个是在另一个服务器上发生的问题,也记录一下)
train 跑起来后出现了这样的错误,错误的原因是找不到 cuda 的某个头文件。这是由于作者把头文件路径写死了,但是我们的服务器环境路径不一样。
翻下 conda
环境,发现该头文件在这个路径:/home/haoq_lab/cse30013594/miniconda3/envs/climatenerf/include/math_functions.h
修改 ./datasets/stylize_tools/smooth_filter.py
文件
然后就能正常跑了。