赞
踩
Pytorch3d 在windows上的安装不如Linux系统方便,因为要使用Cpython去编译C++的源码,在CUB、cuda等软件下,很容易出现问题,今天给大家带来一个安装方法和细节!
本方法支持windows10和win11系统,VS2022、VS2019等目前主流的系统和软件版本,在本机环境中,由于我是刚刚装的,所以除了CUDA都是最新版本,这里提前告诉下读者们。
如果没有conda环境,创建conda 环境 安装
conda create -n name python=3.9
conda activate pytorch3d
在环境中补充基本的软件包
conda install -c fvcore -c iopath -c conda-forge fvcore iopath
conda install jupyter
pip install scikit-image matplotlib imageio plotly opencv-python
pip install black usort flake8 flake8-bugbear flake8-comprehensions
一般VS会自动给你配好,不论VS什么版本,如果找不到一般在这里C:\ProgramData\Microsoft\Windows\Start
Menu\Programs|
=
打开后,进入到你的torch3d目录,然后激活你的conda环境,进行编译:
下面的问题一,你如果和我一样安装的新版本,那么必会遇到所以直接修改了再编译!
运行:
set DISTUTILS_USE_SDK=1
set PYTORCH3D_NO_NINJA=1
python setup.py install
等待编译完成,过程中可能会遇到如下问题:
根据图中编译提示:我们打开你的cuda目录下:\include\thrust\system\cuda\config的代码,在74行加入提示的语句,如下修改:
C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.7/include\cub/device/dispatch/dispatch_segmented_sort.cuh(379): error: expected a member name
3 errors detected in the compilation of "D:/research/code/pytorch3d/pytorch3d/csrc/pulsar/cuda/renderer.backward.gpu.cu".
renderer.backward.gpu.cu
切换CUB的版本和你的cuda没匹配,然后修改环境变量确定后,需要重启VS的命令行 重复上述的编译步骤,记得要重启命令行!
error: namespace thrust::cub has no member DebugSyncStream
这个我是直接将11.8换成cuda11.7了 这个问题不常见,不过记录下,报错表面是语法问题,本质是cuda11.8的代码重构了部分。
raise RuntimeError(message)
RuntimeError: Error compiling objects for extension
打开:\envs\torch-gpu\Lib\site-packages\torch\utils 下的cpp_extension.cpp文件,搜索 ‘ninja’ 然后将[‘ninja’,‘-v’]改成[‘ninja’,‘–version’], 尝试切换CUB的版本把。如果你按照我的步骤,这个问题和问题二和问题三都是应该产生不了的。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。