将输入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对应维度的乘积。
输出tensor的每个维度大小为输入tensor的相应维度大小与参数multiples对应位置的乘积。
例如输入一个Tensor的shape为[1, 2, 3],参数multiples为{1, 2, 2}。此时的输出tensor的shape为[1, 4, 6]。
[[[1,2,3] [4,5,6]]]
通过repeat之后为
[[[1,2,3,1,2,3], [4,5,6,4,5,6], [1,2,3,1,2,3], [4,5,6,4,5,6]]]
输出tensor的每个维度大小为输入tensor维度广播到参数multiples长度后与其对应位置的乘积。
例如输入一个Tensor的shape为[2, 3],参数multiples为{1, 2, 2}。此时的输出tensor的shape为[1, 4, 6]。
[[1,2,3] [4,5,6]]
通过repeat之后为
[[[1,2,3,1,2,3], [4,5,6,4,5,6], [1,2,3,1,2,3], [4,5,6,4,5,6]]]