当前位置: 首页 > news >正文

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

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版本):

# 复制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的虚拟环境来安装)

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是否安装成功

# 检查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相关的环境变量到终端中

 gedit ~/.zshrc

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

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是否安装成功

nvcc -V

安装cmake

sudo apt-get install cmake

安装boost

sudo apt-get install libboost-all-dev

下载spconv1.2.1代码

git clone -b v1.2.1 https://github.com/traveller59/spconv.git --recursive

编译spconv1.2.1代码

python setup.py bdist_wheel

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

pip install spconv-1.2.1-xx-xx-xx.whl

即可完成安装。

相关文章:

spconv1.2.1库的编译与安装

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

java+springboot+mysql企业邮件管理系统

项目介绍: 使用javaspringbootmysql开发的企业邮件管理系统,系统包含超级管理员、管理员、员工角色,功能如下: 超级管理员:管理员管理;员工管理;反馈管理;系统公告;个人…...

[CKA]考试之一个 Pod 封装多个容器

由于最新的CKA考试改版,不允许存储书签,本博客致力怎么一步步从官网把答案找到,如何修改把题做对,下面开始我们的 CKA之旅 题目为: Task 创建一个Pod,名字为kucc1,这个Pod包含4容器&#xff…...

iphone备份用什么软件?好用的苹果数据备份工具推荐!

众所周知,如果要将iPhone的数据跟电脑进行传输备份的话,我们需要用到iTunes这个pc工具。但是对于iTunes,不少人都反映这个软件比较难用,用不习惯。于是,顺应时代命运的iPhone备份同步工具就出现了。那iphone备份用什么…...

一语道破 python 迭代器和生成器

简而言之:迭代器是一个抽象化的概念,在python中表示访问数据集合中元素的一种方式;生成器也是一个抽象化的概念,在python 中,边循环边生成所需数据,是一种时间换空间的方法。从访问数据方式上来看&#xff…...

有哪些开源和非开源的项目管理工具?

开源和非开源项目管理工具各有其特点和优势。下面是一些常见的开源和非开源项目管理工具以及它们的简要介绍。 开源项目管理工具: OpenProject:OpenProject 是一个功能强大、易于使用的开源项目管理工具。它提供了项目计划、任务管理、团队协作、文档管…...

实战 01|「编写互动式界面」

前言 实践是最好的学习方式,技术也如此。 文章目录 前言一、功能需求(一)1、功能需求描述2、知识点3、布局与程序设计 二、功能需求(二)1、功能需求描述2、知识点1)LinearLayout2)RelativeLayou…...

开源社区寻找八月创作之星!你准备好了吗~

活动页面:https://openlab.cosmoplat.com/createStarCampaign-202308​​​​​​卡奥斯开源社区定位打造工业互联网行业顶级开源社区生态平台,为开发者、企业等用户提供代码托管、技术交流/共享、硬件认证/接入、培训认证、大赛活动等服务,目…...

appuploader不是开发者账号

Appuploader是一款可以帮助开发者上传iOS应用到Apple App Store的工具。很多开发者都知道,在上传应用到App Store之前,需要创建开发者账号并获得苹果官方的认证才能进行上传。但是,有些开发者可能并不想去注册开发者账号,或者遇到…...

MySQL - 10、其他命令

描述表结构、使用数据库、设置变量、更改分隔符、导入SQL脚本、退出MySQL的操作: -- 描述表结构 DESCRIBE table_name;-- 使用特定数据库 USE database_name;-- 设置变量 SET variable_name value;-- 更改分隔符 DELIMITER //-- 执行SQL脚本文件 SOURCE /path/to/…...

输入框长度在XSS测试中如何绕过字符长度限制

大家好,这是我编写的第一篇文章,之所以会分享这个故事,是因为我花了几个晚上的时间,终于找到了解决某个问题的方法。故事如下: 几个月前,我被邀请参加一个非公共的漏洞悬赏项目,在初期发现了一些…...

JVM基础篇-直接内存

JVM基础篇-直接内存 什么是直接内存? 直接内存( 堆外内存 ) 指的是 Java 应用程序通过直接方式从操作系统中申请的内存,这块内存不属于jvm 传统方式读取文件 首先会从用户态切换到内核态,调用操作系统函数从磁盘读取文件,读取一部分到操作系统缓冲区…...

【Java可执行命令】(十四)脚本执行工具jrunscript :在命令行环境下交互式执行一些简单的脚本或测试代码片段~

Java可执行命令之jrunscript 1️⃣ 概念2️⃣ 优势和缺点3️⃣ 使用3.1 语法格式3.2 启动 jrunscript 直接执行脚本3.3 可选参数&#xff1a;-l < language>3.4 可选参数&#xff1a;-e < script>3.5 可选参数&#xff1a;-f < script file>3.6 注意事项 4️…...

eclipse Java Editor Templates

​ Window - Preferences - Java - Editor - Templates ​ date ${currentDate:date(yyyy.MM.dd)}...

vue SKU已知sku.tree算出sku.list类目值和id

已知sku.tree算出sku.list类目值和id <van-skuref"sku"v-model"showBase":close-on-click-overlay"closeOnClickOverlay":goods"skuData.goods_info":goods-id"skuData.goods_id":hide-stock"skuData.sku.hide_stoc…...

error C4430 缺少类型说明符 - 假定为 int。注意 C++ 不支持默认 int

出现原因&#xff1a;两个类头文件相互包含 使用声明类代替头文件包含...

Embedding入门介绍以及为什么Embedding在大语言模型中很重要

Embeddings技术简介及其历史概要 在机器学习和自然语言处理中&#xff0c;embedding是指将高维度的数据&#xff08;例如文字、图片、音频&#xff09;映射到低维度空间的过程。embedding向量通常是一个由实数构成的向量&#xff0c;它将输入的数据表示成一个连续的数值空间中…...

暑假刷题第20天--8/3

B-序列的与和_2023河南萌新联赛第&#xff08;四&#xff09;场&#xff1a;河南大学 (nowcoder.com)&#xff08;dfs&#xff09; #include<iostream> #include<string> using namespace std; #define ull unsigned long long int n,k; ull a[21]; ull ans0; int…...

docker容器内的django启动celery任务队列

问题1&#xff1a; celery任务队列一般要使用redis&#xff0c;但是容器内的django要访问本机的redis是十分麻烦的 解决2&#xff1a; 在容器内安装redis&#xff0c;或者单独启动一个redis的容器&#xff0c;我是单独启动一个redis容器 安装redis镜像docker pull redis启动…...

linux文件描述符fd

文件描述符 fd是一个>0 的整数 每打开一个文件&#xff0c;就创建一个文件描述符&#xff0c;通过文件描述符来操作文件 预定义的文件描述符: 0:标准输入&#xff0c;对应于已打开的标准输入设备(键盘) 1:标准输出&#xff0c;对应于已打开的标准输出设备(控制台) 2.标准错误…...

别再只用柱状图了!用Origin玩转‘柱状+点线’组合图,轻松应对论文审稿人的图表挑剔

科研图表升级指南&#xff1a;用Origin打造兼具数据对比与趋势分析的组合图表 在学术论文写作中&#xff0c;图表是研究成果最直观的呈现方式。许多研究者习惯使用单一的柱状图展示数据&#xff0c;但当审稿人要求同时体现数值比较和时间趋势时&#xff0c;这种简单图表就显得力…...

告别工业UI!Ostrakon-VL像素终端如何提升一线员工图像识别体验

告别工业UI&#xff01;Ostrakon-VL像素终端如何提升一线员工图像识别体验 1. 重新定义零售图像识别体验 在零售和餐饮行业&#xff0c;一线员工每天需要处理大量图像识别任务&#xff1a;检查货架商品、核对价签、评估店面环境等。传统工业级UI界面往往设计呆板、操作复杂&a…...

matlab 点云体素中心最近邻点下采样(详细过程版)

目录 一、算法原理 1、实现过程 二、代码实现 三、结果展示 博客长期更新,本文最近一次更新时间为:2026年4月10日。 一、算法原理 1、实现过程 点云体素最近邻点滤波核心思想是通过空间网格化,在每个网格(体素)内仅保留一个最具代表性的点,以达到简化点云、减少数据量的…...

ComfyUI ControlNet预处理器:3步解锁AI绘画的精准控制力

ComfyUI ControlNet预处理器&#xff1a;3步解锁AI绘画的精准控制力 【免费下载链接】comfyui_controlnet_aux ComfyUIs ControlNet Auxiliary Preprocessors 项目地址: https://gitcode.com/gh_mirrors/co/comfyui_controlnet_aux 还在为AI生成图像时无法精确控制构图而…...

如何用Bebas Neue免费开源字体打造专业级标题设计

如何用Bebas Neue免费开源字体打造专业级标题设计 【免费下载链接】Bebas-Neue Bebas Neue font 项目地址: https://gitcode.com/gh_mirrors/be/Bebas-Neue 在当今数字设计领域&#xff0c;寻找既专业又免费的标题字体往往令人头疼。商业字体授权费用高昂&#xff0c;而…...

BiRefNet模型TensorRT终极加速指南:5步实现3倍推理速度提升

BiRefNet模型TensorRT终极加速指南&#xff1a;5步实现3倍推理速度提升 【免费下载链接】BiRefNet [CAAI AIR24] Bilateral Reference for High-Resolution Dichotomous Image Segmentation 项目地址: https://gitcode.com/gh_mirrors/bi/BiRefNet BiRefNet作为CAAI AIR…...

春联生成模型-中文-base效果实测:输入‘平安‘、‘富贵‘,对联寓意满满

春联生成模型-中文-base效果实测&#xff1a;输入平安、富贵&#xff0c;对联寓意满满 1. 模型效果初体验 春节将至&#xff0c;家家户户都开始准备贴春联。传统春联创作需要深厚的文学功底&#xff0c;而如今AI技术让这一过程变得简单有趣。今天我们要实测的是一款基于阿里达…...

VMware 虚拟机中部署 Intv_AI_MK11:隔离测试环境搭建指南

VMware 虚拟机中部署 Intv_AI_MK11&#xff1a;隔离测试环境搭建指南 1. 为什么需要隔离测试环境 在AI模型开发和测试过程中&#xff0c;隔离环境的重要性怎么强调都不为过。想象一下&#xff0c;你正在调试一个全新的AI模型&#xff0c;突然发现它占用了你电脑的所有资源&am…...

从编译错误到成功仿真:记录我调试MIT Mini Cheetah源码时遇到的3个典型问题

从编译错误到成功仿真&#xff1a;记录我调试MIT Mini Cheetah源码时遇到的3个典型问题 调试MIT Mini Cheetah开源代码的过程&#xff0c;就像是在解一道复杂的数学题——每一步都可能隐藏着意想不到的陷阱。作为一个曾经在这个项目上耗费了整整两个周末的开发者&#xff0c;我…...

拉曼激光雷达 L0 级数据 Python处理和可视化实现,结果分析

4 个通道产品逐图分析 左上&#xff1a;532P 通道&#xff08;532 nm 平行偏振通道&#xff09; 产品类型 &#xff1a;532 nm 弹性散射平行偏振原始信号&#xff08;L0 级&#xff09; 物理含义 &#xff1a;接收 532 nm 激光与大气分子、气溶胶、云粒子发生弹性散射后&#…...