PyTorch 1.0 中文文档:torch.sparse

Posted wizardforcel

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PyTorch 1.0 中文文档:torch.sparse相关的知识,希望对你有一定的参考价值。

译者:hijkzzz

警告

这个API目前还处于试验阶段,可能在不久的将来会发生变化。

Torch支持COO(rdinate )格式的稀疏张量,这可以有效地存储和处理大多数元素为零的张量。

稀疏张量表示为一对稠密张量:一个值张量和一个二维指标张量。一个稀疏张量可以通过提供这两个张量,以及稀疏张量的大小来构造(从这些张量是无法推导出来的!)假设我们要定义一个稀疏张量,它的分量3在(0,2)处,分量4在(1,0)处,分量5在(1,2)处,然后我们可以这样写

>>> i = torch.LongTensor([[0, 1, 1],
 [2, 0, 2]])
>>> v = torch.FloatTensor([3, 4, 5])
>>> torch.sparse.FloatTensor(i, v, torch.Size([2,3])).to_dense()
 0  0  3
 4  0  5
[torch.FloatTensor of size 2x3]

注意,LongTensor的输入不是索引元组的列表。如果你想这样写你的指标,你应该在把它们传递给稀疏构造函数之前进行转置:

>>> i = torch.LongTensor([[0, 2], [1, 0], [1, 2]])
>>> v = torch.FloatTensor([3,      4,      5    ])
>>> torch.sparse.FloatTensor(i.t(), v, torch.Size([2,3])).to_dense()
 0  0  3
 4  0  5
[torch.FloatTensor of size 2x3]

也可以构造混合稀疏张量,其中只有前n个维度是稀疏的,其余维度是密集的。

阅读全文/改进本文

以上是关于PyTorch 1.0 中文文档:torch.sparse的主要内容,如果未能解决你的问题,请参考以下文章

PyTorch 1.0 中文文档:torch.Tensor

PyTorch 1.0 中文文档:torchvision.transforms

PyTorch 1.0 中文文档:数据类型信息

PyTorch 1.0 中文文档:torch.Storage

PyTorch 1.0 中文文档:torch.nn.init

PyTorch 1.0 中文文档:torch.cuda