Shortcuts

torch.as_strided

torch.as_strided(input, size, stride, storage_offset=None) 张量

创建一个现有 torch.Tensor input 的视图,并指定 sizestridestorage_offset

警告

建议使用其他视图函数,如 torch.Tensor.expand(), 而不是使用 as_strided 手动设置视图的步幅,因为此函数的行为取决于张量存储的实现。 构建的存储视图必须仅引用存储中的元素,否则将抛出运行时错误,并且如果视图是 “重叠的”(多个索引引用内存中的同一元素),其行为是未定义的。

Parameters
  • 输入 (张量) – 输入张量。

  • size (tupleints) – 输出张量的形状

  • 步幅 (元组整数) – 输出张量的步幅

  • storage_offset (int, 可选) – 输出张量在底层存储中的偏移量。 如果 None,输出张量的 storage_offset 将与输入张量匹配。

示例:

>>> x = torch.randn(3, 3)
>>> x
tensor([[ 0.9039,  0.6291,  1.0795],
        [ 0.1586,  2.1939, -0.4900],
        [-0.1909, -0.7503,  1.9355]])
>>> t = torch.as_strided(x, (2, 2), (1, 2))
>>> t
tensor([[0.9039, 1.0795],
        [0.6291, 0.1586]])
>>> t = torch.as_strided(x, (2, 2), (1, 2), 1)
tensor([[0.6291, 0.1586],
        [1.0795, 2.1939]])
优云智算