将输入tensor的Shape,根据参数中multiples上的信息扩展指定倍数。
硬件型号 |
支持情况 |
特殊说明 |
---|---|---|
支持 |
不支持输入输出Tensor数据类型为bf16的场景。 |
|
支持 |
不支持输入输出tensor数据类型为bf16的场景。 |
|
支持 |
- |
|
支持 |
- |
1 2 3 4 | struct RepeatParam { SVector<int64_t> multiples; uint8_t rsv[8] = {0}; }; |
成员名称 |
类型 |
默认值 |
描述 |
---|---|---|---|
multiples |
SVector<int64_t> |
- |
输入tensor每个维度上扩展的倍数,支持对输入tensor的广播。 支持在不超过两个维度上进行扩展。 multiples的维度应小于等于8,且大于或等于输入tensor的维度,每一个元素要求都大于0。 |
rsv[8] |
uint8_t |
{0} |
预留参数。 |
参数 |
维度 |
数据类型 |
格式 |
描述 |
---|---|---|---|---|
x |
[x_dim_0,x_dim_1,... ,x_dim_n] |
float16/bf16 |
ND |
输入tensor。 |
参数 |
维度 |
数据类型 |
格式 |
描述 |
---|---|---|---|---|
y |
[y_dim_0,y_dim_1,... ,y_dim_n] |
float16/bf16 |
ND |
输出tensor。和输入的数据类型一致。 |
输出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]]]