Tile
产品支持情况
| 产品 |
是否支持 |
| Ascend 950PR/Ascend 950DT |
√ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 |
√ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 |
√ |
| Atlas 200I/500 A2 推理产品 |
× |
| Atlas 推理系列产品 |
√ |
| Atlas 训练系列产品 |
√ |
功能说明
接口功能:对输入tensor沿着repeats中对每个维度指定的复制次数进行复制。示例:
假设输入Tensor为[[a,b],[c,d],[e,f]],即shape为[3,2],repeats为(2,4),则生成的Tensor的shape为[6,8],值如下所示:
>>> x = torch.tensor([[a,b],[c,d],[e,f]])
>>> x.repeat(2,4)
tensor([[a,b,a,b,a,b,a,b],
[c,d,c,d,c,d,c,d],
[e,f,e,f,e,f,e,f],
[a,b,a,b,a,b,a,b],
[c,d,c,d,c,d,c,d],
[e,f,e,f,e,f,e,f],
])
当repeats为(2,4,2)时,即repeats的元素个数大于Tensor中的维度,则输出Tensor等效为如下操作:先将输入Tensor的shape扩张到和repeats个数相同的维度:[1,3,2],而后按照对应维度和repeats的值进行扩张,即输出Tensor的shape为[2,12,4],结果如下:
>>> x.repeat(2,4,2)
tensor([[[a,b,a,b],
[c,d,c,d],
[e,f,e,f],
[a,b,a,b],
[c,d,c,d],
[e,f,e,f],
[a,b,a,b],
[c,d,c,d],
[e,f,e,f],
[a,b,a,b],
[c,d,c,d],
[e,f,e,f]],
[[a,b,a,b],
[c,d,c,d],
[e,f,e,f],
[a,b,a,b],
[c,d,c,d],
[e,f,e,f],
[a,b,a,b],
[c,d,c,d],
[e,f,e,f],
[a,b,a,b],
[c,d,c,d],
[e,f,e,f]]])
计算时需要满足以下条件:
repeats中参数个数不能少于输入Tensor的维度。
repeats中的值必须大于等于0。
参数说明
| 参数名 |
输入/输出 |
描述 |
使用说明 |
数据类型 |
数据格式 |
维度(shape) |
非连续张量Tensor |
| self |
输入 |
- |
- |
FLOAT、DOUBLE、FLOAT16、COMPLEX64、COMPLEX128、UINT8、INT8、INT16、INT32、INT64、UINT16、UINT32、UINT64、BOOL、BFLOAT16、HIFLOAT8、FLOAT8_E5M2、FLOAT8_E4M3FN |
ND |
≤8 |
√ |
| repeats |
输入 |
- |
表示沿每个维度重复输入tensor的次数,参数个数不大于8,当前不支持对超过4个维度同时做repeat的场景,详细约束请见约束说明。 |
INT64 |
- |
- |
- |
| out |
输出 |
- |
- |
与self一致 |
ND |
≤8 |
√ |
约束说明
调用示例