【机器人】复现 GraspNet 端到端抓取点估计 | PyTorch2.3 | CUDA12.1

news2025/7/7 12:59:08

GraspNet是通用物体抓取的大规模基准的基线模型,值得学习和复现。

本文分享使用较新版本的PyTorch和CUDA,来搭建开发环境。

论文地址:GraspNet-1Billion: A Large-Scale Benchmark for General Object Grasping

开源地址:https://github.com/graspnet/graspnet-baseline

1、安装torch2.3.1和cudatoolkit

首先创建一个Conda环境,名字为graspnet,python版本为3.10

然后进行graspnet环境

conda create -n graspnet python=3.10
conda activate graspnet

这里需要安装pytorch2.3.1,cudatoolkit=12.1

conda install pytorch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 pytorch-cuda=12.1 -c pytorch -c nvidia

pytorch2.3.1官网地址:https://pytorch.org/get-started/previous-versions/

2、安装CUDA12.1

首先需要安装好Nvidia 显卡驱动,后面还要安装CUDA12.1

输入命令:nvidia-smi,能看到显卡信息,说明Nvidia 显卡驱动安装好了

 然后需要单独安装CUDA12.1了,上面虽然安装了CUDA12.2也不影响的

各种CUDA版本:CUDA Toolkit Archive | NVIDIA Developer

CUDA12.1下载地址:CUDA Toolkit 12.1 Update 1 Downloads | NVIDIA Developer

然后下载cuda_12.1.1_530.30.02_linux.run文件

wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda_12.1.1_530.30.02_linux.run

开始安装

sudo sh cuda_12.1.1_530.30.02_linux.run

来到下面的界面,点击“Continue”

输入“accept”

下面是关键,在530.30.02这里“回车”,取消安装;

这里X是表示需要安装的,我们只需安装CUDA12.1相关的即可

安装完成后,能看到/usr/local/cuda-12.1目录啦

(base) lgp@lgp-MS-7E07:~/2025_project$ ls /usr/local/
bin   cuda-11.1  cuda-12.1  games    lib  sbin   src
cuda  cuda-11.3  etc        include  man  share

设置CUDA环境变量

export CUDA_HOME=/usr/local/cuda-12.1

3、安装GraspNet相关依赖库

下载graspnet代码

git clone https://github.com/graspnet/graspnet-baseline.git
cd graspnet-baseline-main

编辑 requirements.txt为:

numpy==1.23.0
scipy
open3d>=0.8
Pillow
tqdm

 开始安装Graspness相关依赖库

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

4、编译安装pointnet2和knn

这些两个的安装需要CUDA编译的,依赖于前面的export CUDA_HOME=/usr/local/cuda-12.1

首先来到graspnet-baseline-main工程中,安装pointnet2

cd pointnet2
python setup.py install

再安装knn

cd knn
python setup.py install

5、安装graspnetAPI 

下载graspnetAPI 代码,进行解压,进入文件目录

git clone https://github.com/graspnet/graspnetAPI.git
cd graspnetAPI

需要修改 setup.py文件,将其中的sklearn替换为scikit-learn,并且numpy==1.23.0

然后进行安装:

pip install . -i https://pypi.tuna.tsinghua.edu.cn/simple

到这里安装完成啦~

6、模型推理——抓取点估计

跑一下模型推理的demo,看看可视化的效果:

输出Top1的抓取位姿,需要修改代码 gg = gg[:1]

def vis_grasps(gg, cloud):
    gg.nms()
    gg.sort_by_score()
    gg = gg[:1]
    print(gg)
    grippers = gg.to_open3d_geometry_list()
    o3d.visualization.draw_geometries([cloud, *grippers])

分享完成~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2327348.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

视频联网平台智慧运维系统:智能时代的城市视觉中枢

引言:破解视频运维的"帕累托困境" 在智慧城市与数字化转型浪潮中,全球视频监控设备保有量已突破10亿台,日均产生的视频数据量超过10万PB。然而,传统运维模式正面临三重困境: 海量设备管理失序:…

《网络管理》实践环节03:snmp服务器上对网络设备和服务器进行初步监控

兰生幽谷,不为莫服而不芳; 君子行义,不为莫知而止休。 应用拓扑图 3.0准备工作 所有Linux服务器上(服务器和Agent端)安装下列工具 yum -y install net-snmp net-snmp-utils 保证所有的HCL网络设备和服务器相互间能…

ubuntu中使用安卓模拟器

本文这里介绍 使用 android studio Emulator , 当然也有 Anbox (Lightweight), Waydroid (Best for Full Android Experience), 首先确保自己安装了 android studio ; sudo apt update sudo apt install openjdk-11-jdk sudo snap install…

py数据结构day3

思维导图: 代码1(完成双向循环链表的判空、尾插、遍历、尾删): class Node:def __init__(self, data):self.data dataself.next Noneself.prev Noneclass DoubleCycleLink:def __init__(self):self.head Noneself.tail None…

STM32单片机入门学习——第8节: [3-4] 按键控制LED光敏传感器控制蜂鸣器

写这个文章是用来学习的,记录一下我的学习过程。希望我能一直坚持下去,我只是一个小白,只是想好好学习,我知道这会很难,但我还是想去做! 本文写于:2025.04.02 STM32开发板学习——第8节: [3-4] 按键控制LED&光敏传感器控制蜂鸣器 前言开…

【JavaScript】十三、事件监听与事件类型

文章目录 1、事件监听1.1 案例:击关闭顶部广告1.2 案例:随机点名1.3 事件监听的版本 2、事件类型2.1 鼠标事件2.1.1 语法2.1.2 案例:轮播图主动切换 2.2 焦点事件2.2.1 语法2.2.2 案例:模拟小米搜索框 2.3 键盘事件2.3.1 语法2.3.…

通过ansible+docker-compose快速安装一主两从redis+三sentinel

目录 示例主机列表 架构参考 文件内容 安装脚本 ansible变量,需修改 ansible配置文件和主机清单,需修改 运行方式 验证故障转移master 涉及redis镜像和完整的脚本文件 示例主机列表 架构参考 文件内容 安装脚本 #!/bin/bashset -e export pa…

mysql docker容器启动遇到的问题整理

好几个月没折腾mysql的部署,弄了下,又遇到不少问题 问题一:Access denied for user ‘root‘‘172.18.0.1‘ docker容器启动后,本地navicat 连接报这个错误 查到两个方案,一个貌似是要让root用户能在任意ip地址&…

长短期记忆神经网络(LSTM)基础学习与实例:预测序列的未来

目录 1. 前言 2. LSTM的基本原理 2.1 LSTM基本结构 2.2 LSTM的计算过程 3. LSTM实例:预测序列的未来 3.1 数据准备 3.2 模型构建 3.3 模型训练 3.4 模型预测 3.5 完整程序预测序列的未来 4. 总结 1. 前言 在深度学习领域,循环神经网络&…

C++多继承

可以用多个基类来派生一个类。 格式为: class 类名:类名1,…, 类名n { private: … ; //私有成员说明; public: … ; //公有成员说明; protected: … ; //保护的成员说明; }; class D: public A, protected B, private C { …//派…

【深度学习新浪潮】DeepSeek近期的技术进展及未来动向

一、近期技术进展 模型迭代与性能提升 DeepSeek-V3-0324版本更新:2025年3月24日发布,作为V3的小版本升级,参数规模达6850亿,采用混合专家(MoE)架构,激活参数370亿。其代码能力接近Claude 3.7,数学推理能力显著提升,且在开源社区(如Hugging Face)上线。DeepSeek-R1模…

工业4.0时代下的人工智能新发展

摘要:随着德国工业4.0时代以及中国制造2025的提出,工业智能化的改革的时代正逐渐到来,然而我国整体工业水平仍然处于工业2.0水平。围绕工业4.0中智能工厂、智能生产、智能物流这三大主题,结合国内外研究现状,对人工智能…

监控易一体化运维:高性能与易扩展,赋能运维新高度

在当今数字化时代,云技术、大数据、智慧城市等前沿科技蓬勃发展,企业和城市对 IT 基础设施的依赖程度与日俱增。在这样的大环境下,运维系统的高性能与易扩展性对于保障业务稳定运行和推动发展的关键意义。今天,为大家深入剖析监控…

机器学习stats_linregress

import numpy as np from scipy import stats# r stats.linregress(xs, ys) 是一个用于执行简单线性回归的函数,通常来自 scipy.stats 库。# 具体含义如下:# stats.linregress:执行线性回归分析,拟合一条最佳直线来描述两个变量 …

Linux系统01---指令

目录 学习的方法 Linux 系统介绍 2.1 Unix 操作系统(了解) 2.2 Linux 操作系统(了解) 2.3 Linux 操作系统的主要特性(重点) 2.4 Linux 与 Unix 的区别与联系 2.5 GUN 与 GPL(了解&#…

【蓝桥杯14天冲刺课题单】Day 8

1.题目链接:19714 数字诗意 这道题是一道数学题。 先考虑奇数,已知奇数都可以表示为两个相邻的数字之和,2k1k(k1) ,那么所有的奇数都不会被计入。 那么就需要考虑偶数什么情况需要被统计。根据打表,其实可以发现除了…

DeepSeek 开源的 3FS 如何?

DeepSeek 3FS(Fire-Flyer File System)是一款由深度求索(DeepSeek)于2025年2月28日开源的高性能并行文件系统,专为人工智能训练和推理任务设计。以下从多个维度详细解析其核心特性、技术架构、应用场景及行业影响&…

通过 Docker Swarm 集群探究 Overlay 网络跨主机通信原理

什么是Overlay网络, 用于解决什么问题 ? Overlay网络通过在现有网络之上创建一个虚拟网络层, 解决不同主机的容器之间相互通信的问题 如果没有Overlay网络,实现跨主机的容器通信通常需要以下方法: 端口映射使用宿主机网络模式 这些方法牺牲了容器网络…

HarmonyOS NEXT开发进阶(十四):HarmonyOS应用开发者基础认证试题集汇总及答案解析

文章目录 一、前言二、判断题(134道)三、单选题(210道)四、多选题(123道)五、拓展阅读 一、前言 鸿蒙原生技能学习阶段,通过官方认证的资格十分有必要,在项目实战前掌握基础开发理论…

MSVC编译遇到C2059、C2143、C2059、C2365、C2059等错误的解决方案

MSVC编译时,遇到如下错误: c:\program files (x86)\windows kits\10\include\10.0.18362.0\um\msxml.h(1842): error C2059: 语法错误:“常数” [D:\jenkins_home\workspace\xxx.vcxproj] c:\program files (x86)\windows kits\10\include\10.0.18362.0…