Pytorch中torch.layout到底是个什么东西

首先明确,torch.layout是torch.tensor的一种属性,除此之外还有torch.dtype,torch.device,这三个都是在创建tensor时经常需要说明的属性

官方文档的解释:

torch.layout代表对应torch.tensor变量的memory layout。目前,我们的torch.layout有torch.stried和torch.sparse_coo这两种,(一般默认值使用torch.stried)

接下来详细的介绍troch.stried(比较常用)

troch.stried是dense Tensors最经常使用的memory layout,设置好torch.layout=torch.stried后,此时调用tensor.strides会返回一个整数列表(int list):第k个整数代表tensors的第k维从一个元素转到下一个元素所需要的内存。

如果是第一次接触torch.layout看到这是不是已经懵逼了,啥是memory layout呀,有没有什么例子呀,接着往下看

Memory layout:中文叫做内存布局,是告诉你这个tensor是怎么在内存中排列的,我们来举个例子(官方例子)

(创建tensor时没有指定torch.layout,使用的默认值torch.strided)

这个例子可以解读为在第一维中,一个元素到下一个元素需要5个内存,而在第二个维度中,一个元素到下一个元素需要一个内存

layout这个属性有什么用呢,这个概念的引入可以高效的进行很多tensor操作

pytorch小白的学习笔记,大家仅供参考

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值