MinkowskiEngine实用函数和类

sparse_quantize

MinkowskiEngine.utils.sparse_quantize(coords, feats=None, labels=None, ignore_label=- 100, return_index=False, return_inverse=False, quantization_size=None)

给定坐标和特征(optional的标签),函数将生成量化(体素化)坐标。

Args

coordsnumpy.ndarraytorch.Tensor): N×D矩阵大小 ,其中 N 是点数 ,D是维数空间。

featsnumpy.ndarraytorch.Tensor,optional):大小矩阵N×DF ,其中 N 是点数, DF是特征的尺寸。必须与coords具有相同的容器(即,如果coords是torch.Tensor,则feats 也必须是torch.Tensor)。

labelsnumpy.ndarraytorch.IntTensor,optional):与eah坐标关联的整数标签。必须与coords具有相同的容器(即,如果coords是torch.Tensor,则 标签也必须是torch.Tensor)。对于将一组点映射到一个标签的分类,请勿输入标签。

ignore_labelint,optional):IGNORE LABEL的int值。 torch.nn.CrossEntropyLoss(ignore_index=ignore_label)

return_indexbool,optional):如果需要量化坐标的索引,则设置True。默认为False。

return_inversebool,optional):如果希望索引可以恢复离散化的原始坐标,则将其设置为True。默认为False。当return_reverse为True时,return_index必须为True。

例:

>>> unique_map, inverse_map = sparse_quantize(discrete_coords, return_index=True, return_inverse=True)

>>> unique_coords = discrete_coords[unique_map]

>>> print(unique_coords[inverse_map] == discrete_coords)  # True

quantization_sizefloatlist或 numpy.ndarray,optional):网格单元的超矩形各边的长度。

例:

>>> # Segmentation

>>> criterion = torch.nn.CrossEntropyLoss(ignore_index=-100)

>>> coords, feats, labels = MinkowskiEngine.utils.sparse_quantize(

>>>     coords, feats, labels, ignore_label=-100, quantization_size=0.1)

>>> output = net(MinkowskiEngine.SparseTensor(feats, coords))

>>> loss = criterion(output.F, labels.long())

>>>

>>> # Classification

>>> criterion = torch.nn.CrossEntropyLoss(ignore_index=-100)

>>> coords, feats = MinkowskiEngine.utils.sparse_quantize(coords, feats)

>>> output = net(MinkowskiEngine.SparseTensor(feats, coords))

>>> loss = criterion(output.F, labels.long())

batched_coordinates

MinkowskiEngine.utils.batched_coordinatescoords

根据一系列坐标,创建一个ME.SparseTensor坐标

给定numpy或pytorch张量坐标的列表,返回适合ME.SparseTensor的批处理坐标。

Args

coordstorch.Tensornumpy.ndarray的序列):坐标列表。

返回值:

coordstorch.IntTensor):批处理的坐标。

警告

从v0.4开始,批次索引将在所有坐标之前。

sparse_collat​​e

MinkowskiEngine.utils.sparse_collatecoords, feats, labels=None

为稀疏张量文档创建输入参数。

将一组坐标和特征要素转换为批处理坐标和批处理要素。

Args

coords(一组torch.Tensornumpy.ndarray):一组坐标。

feats(一组torch.Tensornumpy.ndarray):一组功能。

labels(一组torch.Tensornumpy.ndarray):与输入关联的一组标签。

batch_sparse_collat​​e

MinkowskiEngine.utils.batch_sparse_collatedata

可以与torch.utils.data.DataLoader结合使用的wrapper包装器函数,为稀疏张量生成输入。

请参阅训练示例以了解用法。

Args

data:(coordinates, features, labels)元组的列表。

稀疏整理

MinkowskiEngine.utils.SparseCollationlimit_numpoints = -1

为coords, feats, labels生成集成功能。

请参阅训练示例以了解用法。

Args

limit_numpoints(int):如果为正整数,则限制批量大小,以使输入坐标的数量低于limit_numpoints。如果为0或False,则连接所有点。默认为-1。

例:

>>> data_loader = torch.utils.data.DataLoader(

>>>     dataset,

>>>     ...,

>>>     collate_fn=SparseCollation())

>>> for d in iter(data_loader):

>>>     print(d)

__init__limit_numpoints = -1

初始化self. See help(type(self))有关准确的签名。

get_coords_map

MinkowskiEngine.utils.get_coords_mapxy

获取稀疏张量1和稀疏张量2之间的映射。

Args

xMinkowskiEngine.SparseTensor):x.tensor_stride <= y.tensor_stride的稀疏张量 。

yMinkowskiEngine.SparseTensor):x.tensor_stride <= y.tensor_stride的稀疏张量 。

返回值:

x_indicestorch.LongTensor):x的索引与返回的y索引相对应。

x_indicestorch.LongTensor):y的索引,它对应于返回的x的索引。

例:

.. code-block:: python

sp_tensor = ME.SparseTensor(features, coords=coordinates)

out_sp_tensor = stride_2_conv(sp_tensor)

ins, outs = get_coords_map(sp_tensor, out_sp_tensor)

for i, o in zip(ins, outs):

print(f"{i} -> {o}")

cat

MinkowskiEngine.cat* sparse_tensors

级联稀疏张量

连接稀疏张量特征。所有稀疏张量必须具有相同的 coords_key(相同的坐标)。要连接具有不同稀疏性模式的稀疏张量,请使用SparseTensor二进制运算或 MinkowskiEngine.MinkowskiUnion

例:

>>> import MinkowskiEngine as ME

>>> sin = ME.SparseTensor(feats, coords)

>>> sin2 = ME.SparseTensor(feats2, coords_key=sin.coords_key, coords_man=sin.coords_man)

>>> sout = UNet(sin)  # Returns an output sparse tensor on the same coordinates

>>> sout2 = ME.cat(sin, sin2, sout)  # Can concatenate multiple sparse tensors

MinkowskiEngine实用函数和类的更多相关文章

  1. 你真的会玩SQL吗?实用函数方法汇总

    你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...

  2. Python中函数、类、模块和包的调用

    初学python阶段,大多数人对函数.类.模块和包的调用都搞得不是很清楚,这篇随笔就简单的进行说明. (1)函数 当函数定义好之后,可以直接调用. 比如:def summ(add1,add2),那么 ...

  3. 转:Delphi 6 实用函数

    来自: daocaoren0824, 时间: -- ::, ID: 再给你一份 程序员实用函数 {▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎} {▎ ▎} {▎ 大 ...

  4. DLL导出函数和类的定义区别 __declspec(dllexport)

    DLL导出函数和类的定义区别 __declspec(dllexport) 是有区别的, 请看 : //定义头文件的使用方,是导出还是导入 #if defined(_DLL_API) #ifndef D ...

  5. python描述符(descriptor)、属性(property)、函数(类)装饰器(decorator )原理实例详解

     1.前言 Python的描述符是接触到Python核心编程中一个比较难以理解的内容,自己在学习的过程中也遇到过很多的疑惑,通过google和阅读源码,现将自己的理解和心得记录下来,也为正在为了该问题 ...

  6. 不可或缺 Windows Native (20) - C++: 友元函数, 友元类

    [源码下载] 不可或缺 Windows Native (20) - C++: 友元函数, 友元类 作者:webabcd 介绍不可或缺 Windows Native 之 C++ 友元函数 友元类 示例演 ...

  7. 3.2 STL中的函数对象类模板

    *: STL中有一些函数对象类模板,如下所示: 1)例如要求两个double类型的x 和y 的积,可以: multiplies<double>()(x,y); 该表达式的值就是x*y的值. ...

  8. Python 中的函数与类的方法

    注:本文转译自 Stackoverflow 上 Adding a Method to an Existing Object 的最佳回答. 在 python 中,def 定义的函数与类中的方法有很大的不 ...

  9. 你真的会玩SQL吗?实用函数方汇总

    http://www.cnblogs.com/zhangs1986/p/4917800.html 实用函数方法 由于有些知识很少被用到,但真需要用时却忘记了又焦头烂额的到处找. 现在将这些‘冷门“却有 ...

随机推荐

  1. 【Scrapy(一)】 Scrapy爬虫的基础执行流程

    安装scrapy模块 : pip install scrapy  创建scrapy项目 1.scrapy startprojecty 项目名称  注意:如果创建失败,可以先卸载原有的scrapy模块, ...

  2. Thinkphp5 日期与时间戳相互转换

    日期转换为时间戳 $date="2013-10-01 12:23:14"; dump(strtotime($date)); //=>1380601394 时间戳 转换为日期 ...

  3. hdu3006 状态压缩+位运算+hash(小想法题)

    题意:        给了n个集合,问你这n个集合可以组合出多少种集合,可以自己,也可以两个,也可以三个....也可以n个集合组在一起. 思路:       是个小想法题目,要用到二进制压缩,位运算, ...

  4. 缓冲区溢出分析第07课:MS06-040漏洞研究——静态分析

    前言 我在之前的课程中讨论过W32Dasm这款软件中的漏洞分析与利用的方法,由于使用该软件的人群毕竟是小众群体,因此该漏洞的危害相对来说还是比较小的.但是如果漏洞出现在Windows系统中,那么情况就 ...

  5. Android APK程序的smali动态调试

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/71250622 一.Apktool的下载和安装 Apktool是Android逆向分 ...

  6. WPScan工具的使用(WordPress扫描工具)

    WPScan是Kali Linux默认自带的一款漏洞扫描工具,它采用Ruby编写,能够扫描WordPress网站中的多种安全漏洞,其中包括WordPress本身的漏洞.插件漏洞和主题漏洞.最新版本WP ...

  7. CVE-2013-1347:从入门到放弃之调试分析令人崩溃的 Microsoft IE CGenericElement UAF 漏洞

    0x01 2013 年 "水坑" APT 攻击事件 在 2013 年 5 月,美国的劳工部网站被黑,利用的正是 CVE-2013-1347 这个漏洞,在当时导致大量使用 IE8 访 ...

  8. Tomcat反序列化漏洞(CVE-2016-8735)

    目录​​​​​​​ CVE-2016-8735 漏洞复现 漏洞修复: CVE-2016-8735 漏洞描述: 该漏洞与之前Oracle发布的 mxRemoteLifecycleListener 反序列 ...

  9. .NET Core with 微服务 - 什么是微服务

    微服务是这几年最流行的架构,说起架构不提微服务都不好意思跟人家打招呼.最近想要再梳理一下关于微服务的知识,并且结合本人的一些实践经验来做一些总结与分享.前面会分享一些概念性的东西,后面也会使用.net ...

  10. windows桌面图标及任务管理栏丢失

    背景环境: 卸载某些软件,如Auto CAD 2011 之后,会出现桌面图标和任务栏丢失的现象,某些重要文件没有保存或者不能注销及重启的动作 1:按组合键Ctrl+Shift+Esc,键调出任务管理器 ...