参考来源:
RTX3080复现基于VoteNet的焊接平板识别网络PanelNethttps://blog.csdn.net/astruggler/article/details/128134746
前言:
主要的流程其实参考的三篇blog以及十分清晰了,一下我将复盘我的环境安装过程。
配置:
CPU: Intel 13900H
GPU: Nvidia 4060 Laptop
python版本: Python3.6.13
CUDA版本: CUDA11.0
cuDNN版本: cuDNN8.0.5
VS 2017
安装步骤:
CUDA和cuDNN安装
安装过程不再赘述
VS 2017安装
安装C++有关工具就行
(VS 2017之后的版本会报错)
Anaconda操作
默认以及安装了Anaconda,在命令行键入以下命令,网卡的话可以使用清华源。
conda create -n 环境名称 python=3.6
conda activate 环境名称
pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html
pip install matplotlib opencv-python plyfile 'trimesh>=2.35.39,<2.35.40' 'networkx>=2.2,<2.3'
作者在开源代码里面有提到要安装tensorflow,但如果不使用tensorboard的话可以在train.py里注释掉,后面会提到。
修改一下代码
原作者的开发环境实在CUDA10.x,但是也因为现在使用的是40x显卡,必须要CUDA11以上版本,所以要做出些修改。
在pointnet2/setup.py修改为:
(第六行后半部分应该修改为你自己的cuda的include绝对地址)
import os
from setuptools import setup
from torch.utils.cpp_extension import BuildExtension, CUDAExtension
import glob
include_dirs = [os.path.realpath('../include'), 'C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.0/include']
# 应该修改为你自己的cuda的include绝对地址
_ext_src_root = "_ext_src"
_ext_sources = glob.glob("{}/src/*.cpp".format(_ext_src_root)) + glob.glob(
"{}/src/*.cu".format(_ext_src_root)
)
_ext_headers = glob.glob("{}/include/*".format(_ext_src_root))
setup(
name='pointnet2',
ext_modules=[
CUDAExtension(
name='pointnet2._ext',
sources=_ext_sources,
include_dirs=include_dirs,
extra_compile_args={
"cxx": ["-O2", "-I{}".format("{}/include".format(_ext_src_root))],
"nvcc": ["-O2", "-I{}".format("{}/include".format(_ext_src_root))],
},
)
],
cmdclass={
'build_ext': BuildExtension
}
)
环境变量
在环境变量的系统变量里,新建,名称为TORCH_CUDA_ARCH_LIST,值为8.0(不要带引号)
pointnet2安装
cd pointnet2
python setup.py install
会出现一大堆warnin,不过没关系,最终结果应该是这样:
到这一步就安装完成了!
其他改动
不使用tensorflow的问题,将train.py文件的第39,209,210,262,263,306,307注释掉即可。
后记
希望下次可以顺利的安装环境。