用时两天半,环境配的要吐了,终于完事。先上结果
首先,确定好自己的python,cuda环境
我的环境是:python3.8,cuda11.8,pytorch2.0.1,vs2019。事先有安装过anaconda
第一步:安装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
第二步(可选):安装cub 注意!:cuda11.7以下的才需要安装,11.8不需要!cuda11.8内置其实是有cub的。这里博主踩了坑
第三步:修改cuda代码
“C:\xxx\NVIDIA GPU Computing Toolkit\CUDA\v11.8\include\thrust\system\cuda\config.h”
把 #ifndef THRUST_IGNORE_CUB_VERSION_CHECK给注释掉,
换成#ifdef THRUST_IGNORE_CUB_VERSION_CHECK
第四步:下载pytorch3d
pytorch3d.选择自己合适的版本,我用的0.7.8。这里修改一下代码setup.py的代码,nvcc_args添加"-DWIN32_LEAN_AND_MEAN" 。添加之后的结果如下:
nvcc_args = [
“-DWIN32_LEAN_AND_MEAN” ,
“-DCUDA_HAS_FP16=1”,
“-D__CUDA_NO_HALF_OPERATORS__”,
“-D__CUDA_NO_HALF_CONVERSIONS__”,
“-D__CUDA_NO_HALF2_OPERATORS__”,
]
因为不修改这里会遇到报错。
/usr/bin/link: extra operand ‘/LTCG’
Try ‘/usr/bin/link --help’ for more information.
第五步:编译pytorch3d包
一定要是这个
然后依次输入:
- conda activate *** 激活环境
- set DISTUTILS_USE_SDK=1
set PYTORCH3D_NO_NINJA=1 - python setup.py install
补充一句:环境配置真的是平等的磋磨每一个人。