windows11环境配置torch-points-kernels库编译安装详细教程
windows11环境配置torch-points-kernels库编译安装详细教程
文章目录
- windows11环境配置torch-points-kernels库编译安装详细教程
- 前言
- 确定版本对应关系
- 编译安装torch-points-kernels
- 总结
前言
torch-points-kernels是一个专注于处理3D点云数据的 Python 库,特别是为PyTorch提供了高效的CPU和CUDA内核来执行空间搜索和插值操作:提供用 CUDA 编写的、高度优化的核心点云操作(主要是 FPS 和邻居搜索)的实现;作为底层引擎,显著加速点云深度学习模型中计算密集型的采样和邻域查询步骤,为构建更复杂、高效的点云深度学习框架(如 torch-points3d)提供基础支持。
加速关键点云操作:
最远点采样: 这是点云下采样中最常用且有效的算法之一;
邻居搜索:球查询给定一个查询点和半径,查找该半径球体内的所有邻居点;K 最近邻搜索查找距离查询点最近的 K 个邻居点。
确定版本对应关系
环境版本要求保持一致,本人的安装版本为:
VC2019+python 3.9 + pytorch 2.1.2 + cuda 11.8/cudnn 8.9.7.29
1.安装 生成工具2019
【Visual Studio安装配置教程】
MSVC v142 - VS 2029 C++ x86/64 生成工具(最新)
Windows 10 SDK
2.安装 CUDA Toolkit
【CUDA Toolkit安装配置教程】
nvcc -V
假设已经在真实的物理机安装了其他版本的cuda和对应的cudnn,可以参考博主的博文【Windows下多版本CUD配置教程】。
3.anaconda虚拟环境配置
这个torch-points-kernels点云库需要安装许多库,如果在原来的环境进行的话会覆盖掉,所以最好新建一个环境。python最好选择3.7及以上,使用anaconda新建torch-points-kernels虚拟环境:
conda create -n torch-points-kernels python=3.9
activate torch-points-kernels
GPU版本torch官网,安装pytorch相关系列包以及其他第三方包:
# 分别安装pytorch和torchvision
pip install torch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 --index-url https://download.pytorch.org/whl/cu118# 通过阿里源安装,安装第三方包
pip install -i https://mirrors.aliyun.com/pypi/simple/ numba scikit-learn
注意:这里的Pytorch cuda版本与真实的物理机配置的cuda版本号(环境变量里配置的cuda)要对应。安装第三包只是为了测试使用,编译安装过程中用不到。
编译安装torch-points-kernels
下载torch-points-kernels源码
# 下载githup源代码到合适文件夹,并cd到代码文件夹内(科学上网)
git clone https://github.com/torch-points3d/torch-points-kernels.git --recursive
# 中途下载中断
git submodule update --init --recursive
以管理者身份打开"x64 Native Tools Command Prompt for VS 2019"终端(安装VS 2019),进入到torch-points-kernels的工程目录下,输入以下指令:
# 进入工程目录下
cd torch-points-kernels
# 激活虚拟环境
activate torch-points-kernels
# 启用Python的distutils模块使用Windows SDK进行编译
set DISTUTILS_USE_SDK=1
# 指示构建系统使用Microsoft SDK
set MSSdk=1
set CUDAFLAGS=-D_USE_MATH_DEFINES
# 构建Python的C/C++扩展模块并将生成的.pyd(Windows)或.so(linux)或.dylib(macOS)文件放在当前目录中,而不是默认的build文件夹。
python setup.py build_ext --inplace
注意:存在多版本的CUDA Toolkit时候,需要将环境变量Path中不需要的CUDA Toolkit失效:即删除路径或者简单修改成无效路径;否则会出现路径冲突或者找不到路径的情况。
# 用于运行当前目录下的单元测试脚本
python -m unittest
总结
尽可能简单、详细的介绍windows11环境配置torch-points-kernels库细教程。