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

相关推荐
Mr.huang1 天前
自注意力机制(Self‑Attention)
人工智能·深度学习
sxstj1 天前
Ubuntu 完整安装并启用 Flatpak 教程
linux·运维·ubuntu
天疆说1 天前
Ubuntu 26.04 下 Intel Meteor Lake 核显 + NPU 驱动配置与 PyTorch NPU 推理实测
linux·pytorch·ubuntu
AI即插即用1 天前
即插即用系列 | IEEE TMI PLG-HN:原型学习引导的 CNN-Transformer 混合网络,攻克乳腺肿瘤分割难题
人工智能·深度学习·神经网络·学习·目标检测·cnn·transformer
mounter6251 天前
突破单点限制:BPF 多跟踪点高效附加机制与新 ftrace 架构解析
linux·ebpf·linux kernel·kernel·ftrace
刘某的Cloud1 天前
Galera Cluster部署 mariadb 节点down机,log sequence number恢复
linux·运维·数据库·负载均衡·mariadb·集群·高可用
小此方1 天前
Re:Linux系统篇(五十四)线程篇 · 七:互斥锁的底层实现原理:从硬件上下文、原子交换指令(Swap)到并发封装实战
linux·运维·驱动开发
Lee_jerome1 天前
python神经网络编程入门(三十三)——多头注意力(Multi-Head Attention)
深度学习·nlp·transformer·注意力机制·多头注意力·self-attention
郭涤生1 天前
rootfs 详解与裁剪优化记录
linux·c++·bsp
铁锚1 天前
解决Ubuntu执行sudo时 unable to resolve host 报错问题
linux·数据库·ubuntu