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

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

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 显卡驱动,后面还要安装CUDA11.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])

分享完成~

相关文章:

  • 工作站做网站seo搜狗
  • 六安网站制作金狮怎么搜索网站
  • 政府网站发展趋势及建设思路bt蚂蚁磁力搜索天堂
  • 门户网站域名是什么seol英文啥意思
  • 成都网页设计价格seo搜索推广费用多少
  • 做淘宝客网站挣钱深企在线
  • c++的特性——多态
  • 服务热升级的方法
  • C++ 中的 decltype:从表达式中推断类型(二十八)
  • RK3588使用笔记:纯linux系统下基础功能配置(不定期更新)
  • MySQL内存管理机制详解
  • 【差分隐私相关概念】数据立方体(Data Cube)
  • C#里使用libxl的对齐/边框/颜色
  • 【极速版 -- 大模型入门到进阶】Transformer: Attention Is All You Need -- 第一弹
  • 基于python大数据的旅游可视化及推荐系统
  • JavaScript中var、let和const的区别
  • 深入理解分布式事务Saga,从入门到面试热点分析详解
  • 05-021-自考数据结构(20331)- 动态查找-例题分析
  • [首发]烽火HG680-KD-海思MV320芯片-2+8G-安卓9.0-强刷卡刷固件包
  • 计算机Python程序代码Java编写web系统c++代做qt设计接单php开发
  • 可发1区的超级创新思路(python\matlab实现):MPTS+Lconv+注意力集成机制的Transformer时间序列模型
  • 【Ollama】大模型运行框架
  • C++进阶——位图+布隆过滤器+海量数据处理
  • Docker使用ubuntu
  • SQLMesh调度系统深度解析:内置调度与Airflow集成实践
  • 洛谷题单1-P5705 【深基2.例7】数字反转-python-流程图重构