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

相关推荐
No8g攻城狮20 小时前
【Linux】Windows11 安装 WSL2 并运行 Ubuntu 22.04 详细操作步骤
linux·运维·ubuntu
renhongxia120 小时前
如何基于知识图谱进行故障原因、事故原因推理,需要用到哪些算法
人工智能·深度学习·算法·机器学习·自然语言处理·transformer·知识图谱
深鱼~21 小时前
ops-transformer算子库:解锁昇腾大模型加速的关键
人工智能·深度学习·transformer·cann
禁默21 小时前
不仅是 FlashAttention:揭秘 CANN ops-transformer 如何重构大模型推理
深度学习·重构·aigc·transformer·cann
笔画人生21 小时前
进阶解读:`ops-transformer` 内部实现与性能调优实战
人工智能·深度学习·transformer
XiaoFan01221 小时前
免密批量抓取日志并集中输出
java·linux·服务器
souyuanzhanvip21 小时前
ServerBox v1.0.1316 跨平台 Linux 服务器管理工具
linux·运维·服务器
种时光的人21 小时前
CANN仓库核心解读:ascend-transformer-boost解锁AIGC大模型加速新范式
深度学习·aigc·transformer
brave and determined1 天前
CANN ops-nn算子库使用教程:实现神经网络在NPU上的加速计算
人工智能·深度学习·神经网络
笔画人生1 天前
系统级整合:`ops-transformer` 在 CANN 全栈架构中的角色与实践
深度学习·架构·transformer