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

相关推荐
千宇宙航1 小时前
闲庭信步使用SV搭建图像测试平台:第三十一课——基于神经网络的手写数字识别
图像处理·人工智能·深度学习·神经网络·计算机视觉·fpga开发
onceco2 小时前
领域LLM九讲——第5讲 为什么选择OpenManus而不是QwenAgent(附LLM免费api邀请码)
人工智能·python·深度学习·语言模型·自然语言处理·自动化
天水幼麟2 小时前
动手学深度学习-学习笔记(总)
笔记·深度学习·学习
2401_826097624 小时前
JavaEE-Linux环境部署
java·linux·java-ee
天水幼麟4 小时前
动手学深度学习-学习笔记【二】(基础知识)
笔记·深度学习·学习
(:满天星:)5 小时前
第31篇:块设备与字符设备管理深度解析(基于OpenEuler 24.03)
linux·运维·服务器·网络·centos
爱莉希雅&&&5 小时前
shell编程之awk命令详解
linux·服务器·git
笑稀了的野生俊5 小时前
在服务器中下载 HuggingFace 模型:终极指南
linux·服务器·python·bash·gpu算力
渡我白衣5 小时前
Linux操作系统之文件(四):文件系统(上)
linux
ZZH1120KQ5 小时前
Linux系统安全及应用
linux·运维·系统安全