Ubuntu20.4中复现Graspness

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

详细配置如图所示:

Image

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.2CUDA 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

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

Image

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的结果如下:

Image

Refernece

MinkowskiEngine 安装
ubuntu20.04安装MinkowskiEngine

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/607154.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

pyqt 分组框控件QGroupBox

pyqt 分组框控件QGroupBox 分组框控件QGroupBox介绍效果代码 分组框控件QGroupBox介绍 QGroupBox提供了一个框架,用于将其他控件(如按钮、滑块、标签等)组合在一起。 QGroupBox 通常包含一个标题栏和一个内容区域。标题栏显示文本标签&#…

经典回溯算法之N皇后问题

问题描述: 有一个N*N的棋盘,需要将N个皇后放在棋盘上,保证棋盘的每一行每一列每一左斜列每一右斜列都最多只能有一个皇后。 按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如…

关于模型参数融合的思考

模型参数融合通常指的是在训练过程中或训练完成后将不同模型的参数以某种方式结合起来,以期望得到更好的性能。这种融合可以在不同的层面上进行,例如在神经网络的不同层之间,或者是在完全不同的模型之间。模型参数融合的目的是结合不同模型的…

探索智慧生活:百度Comate引领人工智能助手新潮流

文章目录 百度Comate介绍1. 什么是百度Comate?主要特点 2. Comate的核心功能智能问答功能语音识别功能语音助手功能个性化服务 使用教程(以vscode为例)1. 下载和安装Comate2. 插件配置方式1:无License用户方式2:购买License用户 3. 常用操作快…

软件设计师

软件设计师 第一章 计算机系统基础原/反/补/移码例题: 浮点数例题 海明校验码例题 CISC和RISC*流水线例题 存储系统cache*主存编址计算例题: 可靠性例题 性能指标例题 第二章 操作系统进程例题 PV操作 信号量例题 前驱图例题 死锁计算例题 段页式存储例题…

阵痛中的乳业产业,何时才能成为下一个啤酒产业?

说起饮品,近年来中国啤酒业中各大品牌齐齐聚焦高端化的趋势绝对值得一提。然而,与之相反,国内乳业却是仍未进入高端化阶段,甚至陷入了周期底部中。 图源:中国圣牧财报 增收降利 牧企承受巨大的供需缺口压力 从产业链…

设计模式(2)创造型设计模式

创建型模式 创建型模式1.工厂模式1.1 抽象工厂模式(Abstract factory)1.2 工厂方法模式(Factory Method)1.3 简单工厂模式(Simple Factory) 2. 建造者模式(Builder)3. 原型模式&…

P8799 [蓝桥杯 2022 国 B] 齿轮

P8799 [蓝桥杯 2022 国 B] 齿轮 分析 最右边的齿轮的转速是最左边齿轮的q倍 最右边的齿轮的半径是最左边齿轮的q倍 题意即为:查询数组中是否存在两个数,其中一个是另一个的q倍 题目范围:查询次数q:2*10^5,数组范围2*10^5&…

2024付费进群系统,源码及搭建变现视频课程(教程+源码)

前三节讲解搭建支付对接,后两节讲解一些引流变现的方法,还有一种变现就是帮人搭建这样的平台,因为全网都没有一套完整的视频教怎么搭建的,有也只是文字教程,一般新人根本看不懂,我视频实操演示,…

学习经验分享【36】论文投稿写作(非理工科文章)

业务进一步扩展,可辅导非理工科偏文科性质的论文辅导,有需要评职称但没有时间精力研究的或者其他相关需求的朋友可咨询了解。 人工智能技术在各领域的发展和思考,类似这种主题的文章。

压缩和归档库-LZ4介绍

1.简介 LZ4是一种快速的压缩算法,提供压缩和解压缩的速度,而牺牲了压缩率。它被设计用于快速的数据压缩和解压缩,特别是用于数据存储和传输。LZ4通常用于需要高速数据处理的场景,如数据库、日志文件处理和实时数据传输。 LZ4的特…

进一步分析并彻底解决 Flink container exit 143 问题

你好,我是 shengjk1,多年大厂经验,努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注!你会有如下收益: 了解大厂经验拥有和大厂相匹配的技术等 希望看什么,评论或者私信告诉我! 文章目录 一…

腾讯游戏海外扩张,增持芬兰游戏开发商股份持股比例增至14.8%

易采游戏网5月8日消息,近日腾讯再次出手,大幅增持了芬兰知名游戏开发商Remedy Entertainment的股份,持股比例猛增至14.8%。这一举动引起了业界和投资者的广泛关注。 据了解,腾讯此次增持是在2024年4月24日完成的。根据芬兰法律规…

Linux网络-PXE高效批量网络装机(命令+截图详细版)

目录 一.部署PXE远程安装服务 1.PXE概述 1.1.PXE批量部署的优点 1.2.要搭建PXE网络体系的前提条件 2.搭建PXE远程安装服务器 2.1.修改相关网络配置(仅主机模式) 2.2.关闭防火墙(老规矩) 2.3.保证挂载上 2.4.准备好配置文…

<网络安全>《76 概念讲解<第十课 物联网常用协议-网络层协议>》

协议简称全称名称内容说明IPv4互联网通信协议第四版IPv4是互联网的核心IPv6互联网协议第6版TCPTransmission Control Protocol传输控制协议TCP旨在适应支持多网络应用的分层协议层次结构。连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务…

【Python】什么是皮尔森系数

我不完美的梦 你陪着我想 不完美的勇气 你说更勇敢 不完美的泪 你笑着擦干 不完美的歌 你都会唱 我不完美心事 你全放在心上 这不完美的我 你总当做宝贝 你给我的爱也许不完美 但却最美 🎵 周冬雨《不完美女孩》 皮尔森相关系数(Pe…

FinalShell连接虚拟机Linux系统连接超时

报错信息 java.net.ConnectException: Connection timed out: connect 排除是网络问题后可以尝试一下这个方法。 解决方案: 打开虚拟机终端输入:ifconfig 会出现端口信息: 看ens33这里的端口是多少,改一下重新连接就ok。

springboot+vue实现登录注册,短信注册以及微信扫描登录

说明:微信扫描登录需要微信注册--要钱,感谢尚硅谷提供的免费接口;短信注册需要阿里云的注册很麻烦并且短信费,没有接口,所以不打算实现,不过能做出效果。 目录 一、建立数据库 二、后端idea实现接口 1.…

幻兽帕鲁专用服务器怎样买省钱便宜?一个月30元

在数字娱乐的浪潮中,幻兽帕鲁Palworld以其独特的魅力吸引了无数玩家的目光。想要拥有流畅、稳定的游戏体验,一台专属的游戏服务器是必不可少的。而如何以最经济的价格购买到高品质的服务器,正是玩家们最关心的问题。腾讯云服务器性价比是很高…

每日Attention学习6——Context Aggregation Module

模块出处 [link] [code] [IJCAI 22] Boundary-Guided Camouflaged Object Detection 模块名称 Context Aggregation Module (CAM) 模块作用 增大感受野,全局特征提取 模块结构 模块代码 import torch import torch.nn as nn import torch.nn.functional as Fcla…