Ubuntu20.4中复现Graspness

2024-05-13 1103阅读

Ubuntu20.4中复现Graspness

文章目录

  • Ubuntu20.4中复现Graspness
    • 1.安装cuda和cudnn
    • 2.安装pytorch
    • 3.安装MinkowskiEngine
    • 4.编译graspnetAPI
    • 5. RuntimeError: "floor" "_vml_cpu" not implemented for 'Int'
    • Refernece

      🚀非常重要的环境配置🚀

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

        详细配置如图所示:

        Ubuntu20.4中复现Graspness

        1.安装cuda和cudnn

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

        2.安装pytorch

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

        3.安装MinkowskiEngine

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

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

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

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

        本地安装的流程如下:

        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
        

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

        Ubuntu20.4中复现Graspness

        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

        直接在你的虚拟环境中

        pip install numpy==1.23.5
        

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

        5. RuntimeError: “floor” “_vml_cpu” not implemented for ‘Int’

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

        ...
        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行,将

        return torch.floor(array)
        # 改为:
        return torch.floor(array.float())
        

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

        Ubuntu20.4中复现Graspness

        Refernece

        MinkowskiEngine 安装

        ubuntu20.04安装MinkowskiEngine

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]