anygrasp的安装部署
首先,必须安装conda,推荐使用 python10版本。
激活conda环境,然后安装 minkowskiengine minkowskiengine安装
根据自己的实际情况安装torch,我这里是4090显卡
conda install openblas-devel -c anaconda
pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 -f https://download.pytorch.org/whl/torch_stable.html
后续会用到gcc编译,必须gcc9,不然会有gcc报错,参考 安装 minkowskiengine minkowskiengine安装
/usr/include/c++/11/bits/std_function.h:435:145: error: parameter packs not expanded with ‘...’:
435 | function(_Functor&& __f)
| ^
...
error: command '/usr/bin/nvcc' failed with exit code 1
如果你的网络不佳,这里有加速国内镜像: https://gitee.com/ctbots/mirror-anygrasp_sdk
按照readme安装即可,这里总结一些常见错误:
没有提前申请证书
需要根据https://gitee.com/ctbots/mirror-anygrasp_sdk 的 readme里的说明,有license相关的内容,科学上网,然后填写表格; 会收到
- 激活码
- 数据集,分别是checkpoint_detection.tar【290MB】 和 checkpoint_tracking.tar【24MB】
pip install 出现sklearn报错
Collecting sklearn (from graspnetAPI→-r requirements.txt (line 5))
Downloading https://pypi.tuna.tsinghua.edu.cn/packages/46/1c/395a83ee7b2d2ad7a05b453872053d41449564477c81dc356f720b16eac4/sklearn-0.0.post12.tar.gz (2.6 kB) Preparing metadata (setup.py) ... error error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [15 lines of output]
The 'sklearn' PyPI package is deprecated, use 'scikit-learn'
rather than 'sklearn' for pip commands.
Here is how to fix this error in the main use cases:
- use 'pip install scikit-learn' rather than 'pip install sklearn'
- replace 'sklearn' by 'scikit-learn' in your pip requirements files
(requirements.txt, setup.py, setup.cfg, Pipfile, etc ...)
- if the 'sklearn' package is used by one of your dependencies,
it would be great if you take some time to track which package uses
'sklearn' instead of 'scikit-learn' and report it to their issue tracker
- as a last resort, set the environment variable
SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL=True to avoid this error
More information is available at
https://github.com/scikit-learn/sklearn-pypi-package
[end of output]
解决方式,设置环境变量:export SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL=True
gsnet报错 提示python版本3.6之类的和当前python版本不兼容
Traceback (most recent call last):
File "/home/ctbots/code/mirror-anygrasp_sdk/grasp_detection/demo.py", line 8, in <module> from gsnet import AnyGrasp
ImportError: /home/ctbots/code/mirror-anygrasp_sdk/grasp_detection/gsnet.so: undefined symbol: _PyGC_generation0
或者 干脆不显示详细内容,直接显示 python3.6 之类的报错。
解决方式:注意,必须复制2个so到 工作目录,而且版本必须和当前的python对应。
分别是 gsnet.so 和 lib_cxx.so
分别在 grasp_detection/gsnet_versions/ 目录 和 license_registration/lib_cxx_versions/ 目录;
同时记得把 license 文件夹拷贝到工作目录。
提示numpy版本错误
pip install “opencv-python<4.11” “numpy==1.23.4” “scipy<1.15.3”
pointnet2 提示导入错误
ModuleNotFoundError: No module named 'pointnet2'
解决方案【一定要在当前的conda内,而且是gcc9】: cd pointnet2 python setup.py install
找不到 libcrypto.so.1.1
从ubuntu的deb包中搜索 libssl1.1_1.1.1f-1ubuntu2.23_amd64.deb, 解压压缩包,把 压缩包里 /usr/lib/x86_64-linux-gnu 的 libcrypto.so.1.1 复制到项目根目录
官方的 https://launchpad.net 如果不科学上网可能无法访问, 可以使用镜像加速 https://748996.xyz/launchpad.net/ubuntu
然后 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:项目的绝对路径
评论