spconv1.2.1库的编译与安装

SpConv是一个稀疏卷积库,在点云相关的深度学习算法中用的比较多。由于目前官方升级到了2.0,然而有些算法(比如审稿人要我复现的Cylinder3D)仍需要用到1.2.1版本,因此本人花了亿点点时间折腾了一下。。。

本机安装cuda+cudnn+pytorch(pytorch应该可以在虚拟环境中装,有兴趣的通知可以尝试一下)

现在anaconda已经支持直接命令行安装cuda和cudnn了,因此很多人(包括我)直接用那个装完了事。然而编译1.x版本的SpConv库遇到的最大的问题也正是这个。

我用anaconda折腾了两天,总是会有奇奇怪怪的问题,有几次虽然编译过了但到运行代码的阶段也会莫名出错。下载别人编译好的版本照着其描述的环境安装虽然可以,但代码运行时还是有问题。于是最后还是回归最原始的cuda+cudnn的安装方法。

下面就简单介绍一下:

到英伟达官网查看下载cuda

官网:https://developer.nvidia.com/cuda-11.1.0-download-archive

bash 复制代码
wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux.run
sudo sh cuda_11.1.0_455.23.05_linux.run

下载cuda对应的cudnn并安装

得到cudnn-11.1-linux-x64-v8.0.5.39.tgz后解压缩,随后执行以下代码(注意自己的cuda版本):

bash 复制代码
# 复制cudnn头文件
sudo cp cuda/include/* /usr/local/cuda-11.1/include/
# 复制cudnn的库
sudo cp cuda/lib64/* /usr/local/cuda-11.1/lib64/
# 添加可执行权限
sudo chmod +x /usr/local/cuda-11.1/include/cudnn.h
sudo chmod +x /usr/local/cuda-11.1/lib64/libcudnn*

安装pytorch(注意这里用的CUDA11.1,另外应该也可以创建一个conda的虚拟环境来安装)

bash 复制代码
pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html

检查cuda和cudnn是否安装成功

python 复制代码
# 检查cuda和cudnn是否安装成功的代码
import torch
# 若正常则静默
a = torch.tensor(1.)
# 若正常则静默
print(a.cuda())
# 若正常则返回 tensor(1., device='cuda:0')
from torch.backends import cudnn
# 若正常则静默
print(cudnn.is_available())
# 若正常则返回 True
print(cudnn.is_acceptable(a.cuda()))
# 若正常则返回 True
print(torch.cuda.is_available())
# 返回GPU的数量
print(torch.cuda.device_count())

添加cuda相关的环境变量到终端中

bash 复制代码
 gedit ~/.zshrc

把下面的语句添加到文件的尾部

bash 复制代码
export LD_LIBRARY_PATH="/usr/local/cuda-11.1/lib64:$LD_LIBRARY_PATH"
export PATH="/usr/local/cuda-11.1/bin:$PATH"
export CUDA_HOME=/usr/local/cuda-11.1

检查nvcc是否安装成功

bash 复制代码
nvcc -V

安装cmake

bash 复制代码
sudo apt-get install cmake

安装boost

bash 复制代码
sudo apt-get install libboost-all-dev

下载spconv1.2.1代码

bash 复制代码
git clone -b v1.2.1 https://github.com/traveller59/spconv.git --recursive

编译spconv1.2.1代码

bash 复制代码
python setup.py bdist_wheel

编译成功的话会在dist文件夹下生成一个spconv-1.2.1-xx-xx-xx.whl文件,这个文件就是我们要的,在需要安装spconv1.2.1的环境执行如下命令:

bash 复制代码
pip install spconv-1.2.1-xx-xx-xx.whl

即可完成安装。

相关推荐
努力的小Qin21 小时前
梯度下降如何实现参数优化:从线性回归到 Sigmoid 分类
人工智能·python·神经网络
是上好佳佳佳呀1 天前
【深度学习|DAY04】神经网络深度学习笔记(下):损失函数、优化器与正则化
笔记·深度学习·神经网络
今天AI了吗1 天前
从 LLM 到 Agent Skill:把 AI 底层概念串起来
数据库·人工智能·sql·深度学习·神经网络·算法·机器学习
AI即插即用3 天前
即插即用系列 | IEEE TMI PLG-HN:原型学习引导的 CNN-Transformer 混合网络,攻克乳腺肿瘤分割难题
人工智能·深度学习·神经网络·学习·目标检测·cnn·transformer
是上好佳佳佳呀3 天前
【深度学习|DAY03】神经网络深度学习笔记(上):框架总览、参数初始化与激活函数
笔记·深度学习·神经网络
hhzz5 天前
《深度学习框架PyTorch入门与实践》系列:04-nn模块详解:用积木搭建神经网络
pytorch·深度学习·神经网络
LaughingZhu5 天前
Product Hunt 每日热榜 | 2026-08-09
人工智能·深度学习·神经网络·搜索引擎·百度
AI街潜水的八角5 天前
水上垃圾检测和识别2:基于深度学习YOLO26神经网络实现水上垃圾检测和识别(含训练代码和数据集)
人工智能·深度学习·神经网络
QN1幻化引擎5 天前
认知场的涌现动力学:结构证明、Phi度量与意识签名电池
人工智能·深度学习·神经网络·算法·机器学习·agi
LaughingZhu6 天前
Product Hunt 每日热榜 | 2026-08-08
人工智能·经验分享·深度学习·神经网络·产品运营