MinkowskiEngine实用函数和类
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:
coords(numpy.ndarray或torch.Tensor): N×D矩阵大小 ,其中 N 是点数 ,D是维数空间。
feats(numpy.ndarray或torch.Tensor,optional):大小矩阵N×DF ,其中 N 是点数, DF是特征的尺寸。必须与coords具有相同的容器(即,如果coords是torch.Tensor,则feats 也必须是torch.Tensor)。
labels(numpy.ndarray或torch.IntTensor,optional):与eah坐标关联的整数标签。必须与coords具有相同的容器(即,如果coords是torch.Tensor,则 标签也必须是torch.Tensor)。对于将一组点映射到一个标签的分类,请勿输入标签。
ignore_label(int,optional):IGNORE LABEL的int值。 torch.nn.CrossEntropyLoss(ignore_index=ignore_label)
return_index(bool,optional):如果需要量化坐标的索引,则设置True。默认为False。
return_inverse(bool,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_size(float,list或 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_coordinates(coords)
根据一系列坐标,创建一个ME.SparseTensor坐标
给定numpy或pytorch张量坐标的列表,返回适合ME.SparseTensor的批处理坐标。
Args:
coords(torch.Tensor或numpy.ndarray的序列):坐标列表。
返回值:
coords(torch.IntTensor):批处理的坐标。
警告
从v0.4开始,批次索引将在所有坐标之前。
sparse_collate
MinkowskiEngine.utils.sparse_collate(coords, feats, labels=None)
为稀疏张量文档创建输入参数。
将一组坐标和特征要素转换为批处理坐标和批处理要素。
Args:
coords(一组torch.Tensor或numpy.ndarray):一组坐标。
feats(一组torch.Tensor或numpy.ndarray):一组功能。
labels(一组torch.Tensor或numpy.ndarray):与输入关联的一组标签。
batch_sparse_collate
MinkowskiEngine.utils.batch_sparse_collate(data)
可以与torch.utils.data.DataLoader结合使用的wrapper包装器函数,为稀疏张量生成输入。
请参阅训练示例以了解用法。
Args:
data:(coordinates, features, labels)元组的列表。
稀疏整理
类MinkowskiEngine.utils.SparseCollation(limit_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_map(x,y)
获取稀疏张量1和稀疏张量2之间的映射。
Args:
x(MinkowskiEngine.SparseTensor):x.tensor_stride <= y.tensor_stride的稀疏张量 。
y(MinkowskiEngine.SparseTensor):x.tensor_stride <= y.tensor_stride的稀疏张量 。
返回值:
x_indices(torch.LongTensor):x的索引与返回的y索引相对应。
x_indices(torch.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实用函数和类的更多相关文章
- 你真的会玩SQL吗?实用函数方法汇总
你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...
- Python中函数、类、模块和包的调用
初学python阶段,大多数人对函数.类.模块和包的调用都搞得不是很清楚,这篇随笔就简单的进行说明. (1)函数 当函数定义好之后,可以直接调用. 比如:def summ(add1,add2),那么 ...
- 转:Delphi 6 实用函数
来自: daocaoren0824, 时间: -- ::, ID: 再给你一份 程序员实用函数 {▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎▎} {▎ ▎} {▎ 大 ...
- DLL导出函数和类的定义区别 __declspec(dllexport)
DLL导出函数和类的定义区别 __declspec(dllexport) 是有区别的, 请看 : //定义头文件的使用方,是导出还是导入 #if defined(_DLL_API) #ifndef D ...
- python描述符(descriptor)、属性(property)、函数(类)装饰器(decorator )原理实例详解
1.前言 Python的描述符是接触到Python核心编程中一个比较难以理解的内容,自己在学习的过程中也遇到过很多的疑惑,通过google和阅读源码,现将自己的理解和心得记录下来,也为正在为了该问题 ...
- 不可或缺 Windows Native (20) - C++: 友元函数, 友元类
[源码下载] 不可或缺 Windows Native (20) - C++: 友元函数, 友元类 作者:webabcd 介绍不可或缺 Windows Native 之 C++ 友元函数 友元类 示例演 ...
- 3.2 STL中的函数对象类模板
*: STL中有一些函数对象类模板,如下所示: 1)例如要求两个double类型的x 和y 的积,可以: multiplies<double>()(x,y); 该表达式的值就是x*y的值. ...
- Python 中的函数与类的方法
注:本文转译自 Stackoverflow 上 Adding a Method to an Existing Object 的最佳回答. 在 python 中,def 定义的函数与类中的方法有很大的不 ...
- 你真的会玩SQL吗?实用函数方汇总
http://www.cnblogs.com/zhangs1986/p/4917800.html 实用函数方法 由于有些知识很少被用到,但真需要用时却忘记了又焦头烂额的到处找. 现在将这些‘冷门“却有 ...
随机推荐
- hdu4415 不错的想法题
题意: 一个人他有一定的血,有一些怪物,他去杀怪物,有的怪物杀死他后还可以在不费自己血的情况下任意杀死一些怪物,问你他最多杀死多少怪物,在最多杀怪前提下最好用多少血,(大体题意是这样). 思路: 首先 ...
- CVE-2014-3153分析和利用
本文是结合参考资料对CVE-2014-3153的分析,当然各位看官可以看最后的资料,他们写的比我好. 在看CVE-2014-3153之前我们用参考资料4中例子来熟悉下这类漏洞是如何产生的: /** * ...
- 前端Excel表格导入导出,包括合并单元格,表格自定义样式等
表格数据导入 读取导入Excel表格数据这里采用的是 xlsx 插件 npm i xlsx 读取excel需要通过 XLSX.read(data, {type: type}) 方法来实现,返回一个叫W ...
- Day004 Scanner进阶
Scanner进阶 例1 Scanner scanner = new Scanner(System.in); //从键盘接收数据 int i = 0; float f = 0.0f; System.o ...
- 【微信小程序】--小程序中循环遍历(包括js中遍历和wxml中的遍历)
文章为博主原创,纯属个人见解,如有错误欢迎指出. 如需转载,请注明出处. 在js中遍历 for (var index in res.data.infos) { res.data.infos[index ...
- java 多线程 实现多个线程的顺序执行
场景 编写一个程序,启动三个线程,三个线程的name分别是A,B,C:,每个线程将自己的ID值在屏幕上打印5遍,打印顺序是ABCABC... 使用 synchronized 实现 public cla ...
- Visual Lab Online —— Alpha版本发布声明
Visual Lab Online -- Alpha版本发布声明 项目 内容 班级:北航2020春软件工程 博客园班级博客 作业:Alpha阶段发布声明 发布声明 目录 Visual Lab Onli ...
- GB 18030-2000《信息技术信息交换用汉字编码字符集基本集的扩充
中文编码:GB2312编码.GBK编码.GB18030编码 2016-09-01 0 By ADMIN 一.GB 2312编码 中华人民共和国国家标准简体中文字符集,全称<信息交换用汉字编码字符 ...
- 解决SSH自动断线,无响应的问题。
解决SSH自动断线,无响应的问题. 3 Replies 在连接远程SSH服务的时候,经常会发生长时间后的断线,或者无响应(无法再键盘输入). 总体来说有两个方法: 1.依赖ssh客户端定时发送心跳. ...
- OpenStack平台功能性测试工具Tempest安装
社区对OpenStack平台功能性的测试工具采用Tempest,性能测试采用Rally. 1.什么是Tempest tempest├── api # API的测试集├── cli # OpenStac ...