前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PyTorch 1.0 中文文档:torch.sparse

PyTorch 1.0 中文文档:torch.sparse

作者头像
ApacheCN_飞龙
发布2022-05-07 14:10:21
3250
发布2022-05-07 14:10:21
举报
文章被收录于专栏:信数据得永生

译者:hijkzzz

警告

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

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

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

代码语言:javascript
复制
>>> 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的输入不是索引元组的列表。如果你想这样写你的指标,你应该在把它们传递给稀疏构造函数之前进行转置:

代码语言:javascript
复制
>>> 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个维度是稀疏的,其余维度是密集的。

阅读全文/改进本文

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-02-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档