Pad
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR&950DT系列产品 | √ |
| Atlas A3系列产品 | √ |
| Atlas A2系列产品 | √ |
| Atlas 200I/500 A2推理产品 | √ |
| Atlas推理系列产品 | √ |
| Atlas训练系列产品 | √ |
功能说明
-
算子功能:按照输入paddings的配置,对输入x的每一维进行前后常量填充,填充值为0。兼容TensorFlow的Pad算子。
-
示例:
输入 x = [[0,1,2]],shape为[1,3] paddings = [[1,1],[2,2]] 输出 y = [[0,0,0,0,0,0,0], [0,0,0,1,2,0,0], [0,0,0,0,0,0,0]],shape为[3,7]
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| x | 输入 | 待进行填充的原始tensor。 | BFLOAT16、FLOAT16、FLOAT、DOUBLE、INT32、UINT8、INT16、INT8、COMPLEX64、INT64、QINT8、QUINT8、QINT32、QINT16、QUINT16、UINT16、COMPLEX128、UINT32、UINT64、BOOL、HIFLOAT8、FLOAT8_E5M2、FLOAT8_E4M3FN、FLOAT8_E8M0、FLOAT4_E2M1、FLOAT4_E1M2。 | ND |
| paddings | 输入 | 填充的配置,形状为[rank(x), 2],第i行[a, b]表示对x第i维开头填充a个元素、末尾填充b个元素。 | INT32、INT64 | ND |
| y | 输出 | 进行填充后的tensor,数据类型与x相同。 | 与x的数据类型相同 | ND |
- AICore路径支持的数据类型随平台不同:
- Atlas A2系列产品:FLOAT、FLOAT16、BFLOAT16、INT8、INT16、INT32、UINT16、INT64;
- 部分新一代平台在此基础上还支持:UINT8、UINT32、UINT64、BOOL、HIFLOAT8、FLOAT8_E5M2、FLOAT8_E4M3FN、FLOAT8_E8M0、FLOAT4_E2M1、FLOAT4_E1M2;
- 其余平台:FLOAT、FLOAT16、BFLOAT16、INT16、INT32、UINT16、INT64。
- 不在上述AICore支持列表中的数据类型(如DOUBLE、COMPLEX64、COMPLEX128、QINT8等)通过AICPU路径计算。
约束说明
- paddings的形状需为[rank(x), 2],其中rank(x)为输入x的维度数。
- 如果x的数据类型为FLOAT4_E2M1或FLOAT4_E1M2,paddings的值应为偶数。
- 如果x的数据类型为HIFLOAT8、FLOAT8_E5M2、FLOAT8_E4M3FN或FLOAT8_E8M0,paddings的值应为非负整数。
调用说明
| 调用方式 | 调用样例 | 说明 |
|---|---|---|
| GE图模式 | test_geir_pad | 通过算子IR构图方式调用Pad算子。 |