Ubuntu20.4中复现Graspness

Ubuntu20.4中复现Graspness

文章目录

🚀非常重要的环境配置🚀

  • ubuntu 20.04
  • cuda 11.1.0
  • cudnn v8.9.7
  • python 3.8.19
  • pytorch 1.8.0
  • numpy 1.23.5

详细配置如图所示:

1.安装cuda和cudnn

具体可以参考这篇:ubuntu配置多版本cuda+cudnn环境,及版本切换方法

2.安装pytorch

具体可以参考这篇:【Linux】Ubuntu20.04版本配置pytorch环境2023.09.05【教程】

3.安装MinkowskiEngine

在安装MinkowskiEngine之前,我们需要先安装相关的依赖:

bash 复制代码
pip install ninja  #官方文档没说,这里依赖还需要安装ninja库
conda install openblas-devel -c anaconda  #安装依赖

然后,我们可以参考nvidia的官方流程:MinkowskiEngine,官方文档里说,MinkowskiEngine只支持CUDA 10.2CUDA 11.X版本,分别有两个安装的流程,这里以CUDA 11.X版本为例:

这里推荐使用本地安装的方式,而不是使用pip或者conda,本地安装的方式更容易成功。

本地安装的流程如下:

bash 复制代码
export CUDA_HOME=/usr/local/cuda-11.1		# 安装前需要先制定你的CUDA_HOME
export MAX_JOBS=2		# 然后降低占用CPU的核心数目,避免卡死
git clone https://github.com/NVIDIA/MinkowskiEngine.git
cd MinkowskiEngine
python setup.py install --blas_include_dirs=${CONDA_PREFIX}/include --blas=openblas

安装完毕后,如果能成功导入就表明安装成功了,比如

4.编译graspnetAPI

直接参考官方给的流程就好,参考这里:graspness_implementation

如果出现numpy相关的问题:

ImportError: numpy.core.multiarray failed to import ( auto-generated, because you didn't call 'numpy.import _array()' after cimporting numpy; use 'numpy.import array' to disable if you are certain you don't need it)

或者其他numpy相关的问题,我们可以把numpy的版本换成numpy==1.23.5,而不是默认的numpy==1.20.3

直接在你的虚拟环境中

bash 复制代码
pip install numpy==1.23.5

然后就可以安装官方给出的方式进行训练了。

5. RuntimeError: "floor" "_vml_cpu" not implemented for 'Int'

如果在infer的时候出现问题:

bash 复制代码
...
File ".../miniconda3/envs/grasp/lib/python3.8/site-packages/MinkowskiEngine-0.5.4-py3.8-linux-x86_64.egg/MinkowskiEngine/utils/quantization.py", line 262, in sparse_quantize
    discrete_coordinates = _auto_floor(coordinates)
  File ".../miniconda3/envs/grasp/lib/python3.8/site-packages/MinkowskiEngine-0.5.4-py3.8-linux-x86_64.egg/MinkowskiEngine/utils/quantization.py", line 133, in _auto_floor
    return torch.floor(array)
RuntimeError: "floor" "_vml_cpu" not implemented for 'Int'

这表明,我们的包里配置有点问题,进入文件:
.../miniconda3/envs/grasp/lib/python3.8/site-packages/MinkowskiEngine-0.5.4-py3.8-linux-x86_64.egg/MinkowskiEngine/utils/quantization.py

133行,将

python 复制代码
return torch.floor(array)
# 改为:
return torch.floor(array.float())

这样就能成功进行训练了,进行infer的结果如下:

Refernece

MinkowskiEngine 安装
ubuntu20.04安装MinkowskiEngine

相关推荐
van叶~5 分钟前
Linux探秘坊-------4.进度条小程序
linux·运维·小程序
秋风&萧瑟6 分钟前
【数据结构】顺序队列与链式队列
linux·数据结构·windows
我科绝伦(Huanhuan Zhou)13 分钟前
Linux 系统服务开机自启动指导手册
java·linux·服务器
hunter2062062 小时前
ubuntu终端当一段时间内没有程序运行时,自动关闭终端。
linux·chrome·ubuntu
代码讲故事4 小时前
从Windows通过XRDP远程访问和控制银河麒麟ukey v10服务器,以及多次连接后黑屏的问题
linux·运维·服务器·windows·远程连接·远程桌面·xrdp
qq_243050796 小时前
irpas:互联网路由协议攻击套件!全参数详细教程!Kali Linux入门教程!黑客渗透测试!
linux·网络·web安全·网络安全·黑客·渗透测试·系统安全
盼小辉丶6 小时前
TensorFlow深度学习实战——情感分析模型
深度学习·神经网络·tensorflow
好评笔记6 小时前
AIGC视频生成模型:Stability AI的SVD(Stable Video Diffusion)模型
论文阅读·人工智能·深度学习·机器学习·计算机视觉·面试·aigc
IT北辰6 小时前
Linux下 date时间应该与系统的 RTC(硬件时钟)同步
linux·运维·实时音视频
Jason Yan6 小时前
【经验分享】ARM Linux-RT内核实时系统性能评估工具
linux·arm开发·经验分享