当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python PyTorch Tensor.expand用法及代码示例


本文简要介绍python语言中 torch.Tensor.expand 的用法。

用法:

Tensor.expand(*sizes) → Tensor

参数

*sizes(torch.Size或者诠释...) -所需的扩展尺寸

返回 self 张量的新视图,其中单例维度扩展为更大的尺寸。

传递 -1 作为维度的大小意味着不更改该维度的大小。

Tensor 也可以扩展到更大的维度,新的维度会附加在前面。对于新维度,大小不能设置为 -1。

扩展张量不会分配新内存,而只会在现有张量上创建一个新视图,其中通过将stride 设置为 0 将尺寸为 1 的维度扩展为更大的尺寸。任何尺寸为 1 的尺寸都可以扩展为任意值而不分配新内存。

警告

扩展张量的多个元素可以引用单个内存位置。因此,就地操作(尤其是矢量化的操作)可能会导致不正确的行为。如果您需要写入张量,请先克隆它们。

例子:

>>> x = torch.tensor([[1], [2], [3]])
>>> x.size()
torch.Size([3, 1])
>>> x.expand(3, 4)
tensor([[ 1,  1,  1,  1],
        [ 2,  2,  2,  2],
        [ 3,  3,  3,  3]])
>>> x.expand(-1, 4)   # -1 means not changing the size of that dimension
tensor([[ 1,  1,  1,  1],
        [ 2,  2,  2,  2],
        [ 3,  3,  3,  3]])

相关用法


注:本文由纯净天空筛选整理自pytorch.org大神的英文原创作品 torch.Tensor.expand。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。