昇腾社区首页
中文
注册

RepeatOperation

功能

将输入tensor的Shape,根据参数中multiples上的信息扩展指定倍数。

定义

struct RepeatParam {
     SVector<int64_t> multiples;
};

参数列表

成员名称

类型

默认值

描述

multiples

SVector<int64_t>

-

输入tensor每个维度上扩展的倍数,支持对输入tensor的广播。

支持在不超过两个维度上进行扩展。

multiples的维度应小于等于8,且大于或等于输入tensor的维度,每一个元素要求都大于0。

输入

参数

维度

数据类型

格式

描述

x

[x_dim_0,x_dim_1,... ,x_dim_n]

float16

ND

输入tensor。

输出

参数

维度

数据类型

格式

描述

y

[y_dim_0,y_dim_1,... ,y_dim_n]

float16

ND

输出tensor

规格约束

输出y的维度和multiples维度一致,每个维度大小为输入x广播到multiples维度后和multiples对应维度的乘积。

功能列表

  • 当multiples的长度与输入tensor的维度相同时

    输出tensor的每个维度大小为输入tensor的相应维度大小与参数multiples对应位置的乘积。

    例如输入一个Tensor的shape为[1, 2, 3],参数multiples为{1, 2, 2}。此时的输出tensor的shape为[1, 4, 6]。

    • inTensor:
      [[[1,2,3]
        [4,5,6]]]

      通过repeat之后为

    • outTensor:
      [[[1,2,3,1,2,3],
        [4,5,6,4,5,6],
        [1,2,3,1,2,3],
        [4,5,6,4,5,6]]]
  • 当multiples的长度大于输入tensor的维度时

    输出tensor的每个维度大小为输入tensor维度广播到参数multiples长度后与其对应位置的乘积。

    例如输入一个Tensor的shape为[2, 3],参数multiples为{1, 2, 2}。此时的输出tensor的shape为[1, 4, 6]。

    • inTensor:
      [[1,2,3]
       [4,5,6]]

      通过repeat之后为

    • outTensor:
      [[[1,2,3,1,2,3],
        [4,5,6,4,5,6],
        [1,2,3,1,2,3],
        [4,5,6,4,5,6]]]