neural deferred shading + ngp_pl 环境搭建过程

最近因为项目需要因此需要在《Multi-View Mesh Reconstruction With Neural Deferred Shading》(后文简称nds)文章中引入《Instant Neural Graphics Primitives with a Multiresolution Hash Encoding》(后文简称ngp),环境搭建的过程比较繁琐,因此写一篇文章以作记录。

1、ngp

ngp这里采用的是他的一个python实现。(但是这个项目其实只要用到tinycudann库),这里还是完整搭建ngp_pl库。
首先创建一个conda环境,python这里用的是3.8:

conda create -n 环境名称 python=3.8

然后激活该环境:

conda activate 环境名称

参考他的repo,先搭建pytorch,这里选择1.12.1版本的pytorch(Ubuntu),11.3的cuda,运行下列指令:

conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch

再搭建torch-scatter:

conda install pytorch-scatter -c pyg

再搭建tinycudann:

#先看看环境要求是否需要更新cuda等,满足则先运行如下指令
sudo apt-get install build-essential git
#再export cuda路径,注意将cuda版本改成自己的cuda版本(nvidia-smi的cuda版本)
export PATH="/usr/local/cuda-11.4/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-11.4/lib64:$LD_LIBRARY_PATH"
# 再将repo克隆到本地,然后依次运行如下指令
git clone --recursive https://github.com/nvlabs/tiny-cuda-nn
cd tiny-cuda-nn
cmake . -B build
cmake --build build --config RelWithDebInfo -j
cd bindings/torch
python setup.py install

python setup.py install如果出现如下报错:

Unable to install pytorch bindings - lcuda not found 

则参考tinycudann官方github repo的issue的解决方法,我的做法是把下面一句指令加到home目录自己名字的文件夹下的.bashrc or .zshrc (depending on your shell)文件中然后重启终端软件的会话,再重复上述export到python setup.py的指令就提示我安装成功了。

export LIBRARY_PATH="/usr/local/cuda/lib64/stubs:$LIBRARY_PATH"

再搭建apex:

git clone https://github.com/NVIDIA/apex
cd apex
pip install -v --disable-pip-version-check --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./

最后:

pip install -r requirements.txt

注意每次pull代码之前需要在主文件夹下运行如下指令(需要将pip更新到>= 22.1的版本),不然会报错没有’vren’:

pip install models/csrc/

2、nds

首先搭建nvdiffrast:

git clone https://github.com/NVlabs/nvdiffrast.git
cd nvdiffrast
python -m pip install .

再搭建pyremesh:

python -m pip install --no-index --find-links ./ext/pyremesh pyremesh

然后其他一些environment.yml中的库pip一下就可以。

3、问题

搭好以后报错:

/data/cjji/anaconda3/envs/ndsngp/lib/python3.8/site-packages/nvdiffrast/torch/../common/glutil.h:36:10: fatal error: EGL/egl.h: No such file or directory
   36 | #include <EGL/egl.h>
      |          ^~~~~~~~~~~
compilation terminated.
ninja: build stopped: subcommand failed.

在这里插入图片描述
运行以下指令:

apt-get install libegl1-mesa-dev

再次报错:

RuntimeError: OpenGL 4.4 or later is required

在这里插入图片描述
我目前得到的信息OenGL与nvidia驱动捆绑,因此可以直接更新nvidia来更新opengl的版本:

#查看合适的驱动
sudo ubuntu-drivers devices
#安装驱动
sudo apt install nvidia-driver-510 nvidia-dkms-510
#需要重启生效 
sudo reboot
#检查是否安装完毕
nvidia-smi
  • 7
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值