安装neural_renderer_pytorch排坑(cuda11.0+)

这是在第三个服务器上安装neural_renderer_pytorch扩展包了,还是遇到熟悉的报错,这里记录一下。

ERROR: Command errored out with exit status 1:…

cuda版本比较高的情况下直接pip install neural_renderer_pytorch装肯定是成功不了的,报错如下:

解决方案就是直接从官方github上下载源码编译,以下是源码编译流程:

首先,从官方GitHub上下载源码:

git clone https://github.com/daniilidis-group/neural_renderer.git
cd neural_renderer
python setup.py install

此时还是会报类似的错误,由于版本不对应问题:
安装neural_renderer_pytorch排坑(cuda11.0+)_第1张图片
这是我们有两种解决方案:

方案一:修改neural_renderer/cuda目录下的create_texture_image_cuda.cpp,load_textures_cuda.cpp,rasterize_cuda.cpp。将三个cpp文件中的AT_CHECK改为TORCH_CHECK

fig3

方案二:从以下链接下载源码

git clone https://github.com/adambielski/neural_renderer.git
cd neural_renderer
python setup.py install

该链接中已经将cpp文件修改好了。

然后继续:

python setup.py install

如果其他环境变量没有问题,此时编译就应该成功了:
fig4
然而我在3090显卡上还碰到了一个问题:

nvcc fatal : Unsupported gpu architecture `compute_86’

应该是硬件能够支持的算力比较高,能达到8.6,但是cuda11.0支持不了这么高的算力,这时候我们只需要降低以下算力需求即可

# 清除TORCH_CUDA_ARCH_LIST
unset TORCH_CUDA_ARCH_LIST
# 设置cuda算力为8.0
export TORCH_CUDA_ARCH_LIST="8.0"

当然,也可以下载安装更新版本的cuda以满足最高算力。

理论上该扩展包已经安装好了,但是如果进入python环境,import该包会出现以下情况:
fig5
这时我们只需要进入neural_renderer子文件夹,然后再次进入python环境import一下就ok了,后面就不会出现调用不了的问题了。
fig6
到此就大功告成了。

你可能感兴趣的:(pytorch,pytorch,深度学习,python)