前言
参考文章:Baseline model for "GraspNet-1Billion: A Large-Scale Benchmark for General Object Grasping" (CVPR 2020).[paper] [dataset] [API] [doc]
代码仓库:https://github.com/graspnet/graspnet-baseline
一、确定配置
Ubuntu18.04
CUDA版本(作者使用的是10.2)
根据CUDA版本确定cudnn()版本
根据CUDA和cudnn版本下载对应的pytorch版本
python==3.7(必须大于等于3.6)
pytorch==1.6.0(需求文档里的pytorch是1.6.0版本,这里作者和需求文档保持一致)
显卡:NVIDIA 2080
二、基础配置环境
1.首先使用
nvidia-smi
查看当前电脑所能运行的CUDA最高的版本,在下载CUDA时,要选择版本号低于这个的版本
2080显卡最高支持的CUDA版本为11.6,这里本人选择的CUDA版本为10.2
CUDA下载地址:https://developer.nvidia.com/cuda-toolkit-archive
cudnn下载地址:https://developer.nvidia.cn/rdp/cudnn-archive
如何下载CUDA可以参考这篇文章:环境配置之CUDA与pytorch版本问题以及多CUDA版本安装及切换
pytorch下载地址:https://pytorch.org/get-started/previous-versions/
2.创建conda环境然后下载pytorch(注意创建之后要进入环境之后再下载pytorch)
conda create --name py37 python=3.7
source activate py37 # py37 就是环境的name
3.下载pytorch==1.6.0 对应 #CUDA 10.2
pip install torch==1.6.0 torchvision==0.7.0
三、graspnet环境配置
3.1 安装graspnet文件
git clone https://github.com/graspnet/graspnet-baseline.git
cd graspnet-baseline
pip install -r requirements.txt
3.2 编译安装pointnet2
cd pointnet2python setup.py install
这一步可能会报错:
“subprocess.CalledProcessError: Command ‘[‘ninja‘, ‘-v‘]‘ returned non-zero exit status 1”
解决方法:
将setup.py中的
“cmdclass={'build_ext': BuildExtension}”
这一行改为
“cmdclass={'build_ext': BuildExtension.with_options(use_ninja=False)}”
pytorch默认使用ninjia作为backend,这里把它禁用掉就好了;
参考文章:出现错误“subprocess.CalledProcessError: Command ‘[‘ninja‘, ‘-v‘]‘ returned non-zero exit status 1”解决方法
3.3 编译安装knn
cd ..
cd knn
python setup.py install
3.4 安装graspnetAPI
git clone https://github.com/graspnet/graspnetAPI.git
将下载好的graspnetAPI文件移动到graspnet-baseline的目录下
cd ..
cd graspnetAPI
pip install .
3.5 手动构建文档
cd docs
pip install -r requirements.txt
bash build_doc.sh
这里可能会报错1:
latexmk -pdf -dvi- -ps- 'graspnetapi.tex'
make: latexmk: Command not found
Makefile:29: recipe for target 'graspnetapi.pdf failed
make: *** [graspnetapi.pd] Error 127
解决方法:
sudo apt-get install latexmk
报错2:
OSError: libc++.so.1: cannot open shared object file: No such file or directory
解决方法:
sudo apt-get update sudo apt-get install libc++1 export LD_LIBRARY_PATH=/usr/lib/x86_64-1inux-gnu:$LD_LIBRARY_PATH