Shortcuts

torch.slice_scatter

torch.slice_scatter(input, src, dim=0, start=None, end=None, step=1) 张量

src 张量的值嵌入到给定维度的 input 中。 此函数返回一个具有新存储的张量;它不会创建一个视图。

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

  • src (张量) – 要嵌入到 input 的张量

  • dim (int) – 要插入切片的维度

  • 开始 (可选[int]) – 插入切片的起始索引

  • end (可选[int]) – 插入切片的结束索引

  • 步长 (int) – 每隔多少个元素跳过

示例:

>>> a = torch.zeros(8, 8)
>>> b = torch.ones(2, 8)
>>> a.slice_scatter(b, start=6)
tensor([[0., 0., 0., 0., 0., 0., 0., 0.],
        [0., 0., 0., 0., 0., 0., 0., 0.],
        [0., 0., 0., 0., 0., 0., 0., 0.],
        [0., 0., 0., 0., 0., 0., 0., 0.],
        [0., 0., 0., 0., 0., 0., 0., 0.],
        [0., 0., 0., 0., 0., 0., 0., 0.],
        [1., 1., 1., 1., 1., 1., 1., 1.],
        [1., 1., 1., 1., 1., 1., 1., 1.]])

>>> b = torch.ones(8, 2)
>>> a.slice_scatter(b, dim=1, start=2, end=6, step=2)
tensor([[0., 0., 1., 0., 1., 0., 0., 0.],
        [0., 0., 1., 0., 1., 0., 0., 0.],
        [0., 0., 1., 0., 1., 0., 0., 0.],
        [0., 0., 1., 0., 1., 0., 0., 0.],
        [0., 0., 1., 0., 1., 0., 0., 0.],
        [0., 0., 1., 0., 1., 0., 0., 0.],
        [0., 0., 1., 0., 1., 0., 0., 0.],
        [0., 0., 1., 0., 1., 0., 0., 0.]])
优云智算