mindspore.Tensor.repeat_interleave

查看源文件
mindspore.Tensor.repeat_interleave(repeats, dim=None, *, output_size=None)

沿着轴重复Tensor的元素,类似 mindspore.numpy.repeat()

警告

仅Atlas A2训练系列产品支持。

说明

进行重复操作的入参Tensor,类型必须为float16,float32,int8,uint8,int16,int32或者int64。

参数:
  • repeats (Union[int, tuple, list, Tensor]) - 指定复制次数,为正数。

  • dim (int,可选) - 指定复制轴,默认值: None 。如果为 None ,输入Tensor会被展平并且输出结果也会被展平。

关键字参数:
  • output_size (int, 可选) - 给定轴的总输出大小(即参数repeats元素之和),默认值: None

返回:

Tensor,值沿指定轴复制。如果输入的shape为 \((s1, s2, ..., sn)\) ,轴为i,则输出的shape为 \((s1, s2, ..., si * repeats, ..., sn)\) 。输出的数据类型与输入相同。

支持平台:

Ascend

样例:

>>> import mindspore
>>> import numpy as np
>>> from mindspore import Tensor
>>> input1 = Tensor(np.array([[0, 1, 2], [3, 4, 5]]), mindspore.int32)
>>> output1 = input1.repeat_interleave(repeats=2, dim=0, output_size=None)
>>> input2 = Tensor(np.array([[1, 2], [3, 4]]), mindspore.int32)
>>> output2 = input2.repeat_interleave(Tensor(np.array([1, 2])), dim=0, output_size=None)
>>> print(output1)
>>> print(output2)
[[0 1 2]
 [0 1 2]
 [3 4 5]
 [3 4 5]]
[[1 2]
 [3 4]
 [3 4]]
mindspore.Tensor.repeat_interleave(repeats, dim=None)

沿着轴重复Tensor的元素,类似 mindspore.numpy.repeat()

说明

进行重复操作的入参Tensor,类型必须为float16,float32,int8,uint8,int16,int32或者int64。

参数:
  • repeats (Union[int, tuple, list, Tensor]) - 指定复制次数,为正数。

  • dim (int,可选) - 指定复制轴,默认值: None 。如果为 None ,输入Tensor会被展平并且输出结果也会被展平。

返回:

Tensor,值沿指定轴复制。如果输入的shape为 \((s1, s2, ..., sn)\) ,轴为i,则输出的shape为 \((s1, s2, ..., si * repeats, ..., sn)\) 。输出的数据类型与输入相同。

支持平台:

Ascend GPU CPU

样例:

>>> import mindspore
>>> import numpy as np
>>> from mindspore import Tensor
>>> input1 = Tensor(np.array([[0, 1, 2], [3, 4, 5]]), mindspore.int32)
>>> output1 = input1.repeat_interleave(repeats=2, dim=0)
>>> input2 = Tensor(np.array([[1, 2], [3, 4]]), mindspore.int32)
>>> output2 = input2.repeat_interleave(Tensor(np.array([1, 2])), dim=0)
>>> print(output1)
>>> print(output2)
[[0 1 2]
 [0 1 2]
 [3 4 5]
 [3 4 5]]
[[1 2]
 [3 4]
 [3 4]]