前言
·本文是关于Graspnet的环境搭建教程。·不同于一般因为Graspnet库过老,只能建立python<3.10的情况,本文使用python=3.10、CUDA=12.1进行环境搭建。
·Graspnet的开源代码链接:https://github.com/graspnet/graspnet-baseline
一、环境搭建
### 1.下载Graspnet开源代码git clone https://github.com/graspnet/graspnet-baseline.git
这步如果有VPN,但还存在问题,要么打开浏览器去Graspnet的github上下载ZIP,要么去看我这篇博客:Linux添加终端代理:https://www.cnblogs.com/john-mu-wanfeng/p/19078263
下载后在终端当前路径下可以找到该文件夹:
2.创建虚拟环境
这步需要使用到Anaconda,如果你使用其他的虚拟环境软件,仿照我的步骤即可,否则搜索Anaconda的安装教程,进行安装后再执行后续步骤。
conda create -n graspnet python=3.10
conda activate graspnet
cd graspnet-baseline
3.安装Pytorch三件套
由于我的CUDA版本是12.1,因此这里我就按照12.1的版本继续安装了,运行如下命令即可:
conda install pytorch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 pytorch-cuda=12.1 -c pytorch -c nvidia
如果你的电脑不是CUDA-12.1,你可以按照你的CUDA版本来,或者参考我这篇博客Linux多版本CUDA切换:https://www.cnblogs.com/john-mu-wanfeng/p/19071862
下载CUDA-12.1,这样后续步骤跟我一模一样即可。
4.安装Graspnet依赖库
这里步骤基本上与官网类似,只是有些文件里写的库的版本或者名称需要修改。
(修改1).修改graspnet-baseline文件夹中的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
编译安装pointnet2:
cd pointnet2
python setup.py install
cd ..
编译安装knn:
cd knn
python setup.py install
cd ..
安装graspnetAPI:
git clone https://github.com/graspnet/graspnetAPI.git
cd graspnetAPI
(修改2).需要修改graspnetAPI文件夹下的setup.py文件:
将sklearn替换为scikit-learn,指定numpy==1.23.0:
修改完成后继续安装:
pip install . -i https://pypi.tuna.tsinghua.edu.cn/simple
cd ..
如果到这里,上述步骤没有问题,那么恭喜你,安装配置成功。
二、代码试运行
这里想运行graspnet-baseline文件夹中的示例文件:`demo.py`,需要将预训练权重下载到graspnet-baseline文件夹中。前往官网Graspnet:https://github.com/graspnet/graspnet-baseline
鼠标向下滚动至Training and Testing
标题:
选择任意的checkpoint.tar文件都可以,我这里使用的是checkpoint-rs.tar
,因为实验室的相机是Realsense的,如果你后续的实验需要使用Kinect相机,更推荐你下载checkpoint-kn.tar
文件。
使用百度网盘进行下载即可。
下载后将下载
目录下的文件复制到graspnet-baseline
文件夹中即可:
完成后需要最后修改一个文件:
graspnet-baseline
文件夹中的dataset/graspnet_dataset.py
文件
将导包部分的代码:
from torch._six import container_abcs
修改为:
import collections.abc as container_abcs
如下图所示:
然后打开终端,激活虚拟环境,回到graspnet-baseline
目录下运行demo.py代码:
cd ~/graspnet-baseline
conda activate graspnet
CUDA_VISIBLE_DEVICES=0 python demo.py --checkpoint_path checkpoint-rs.tar
效果图如下:
至此,工成文毕!