| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
refactor: 清理 conversion 与 tile 算子日志拼写、级别与语义错误 Co-authored-by: esok11<yangsifa@huawei.com> # message auto-generated for no-merge-commit merge: !5337 merge f0903 into master refactor: 清理 conversion 与 tile 算子日志拼写、级别与语义错误 Created-by: esok11 Commit-by: esok11 Merged-by: cann-robot Description: ## 描述 清理 conversion 与 math/tile 目录下 10 个算子的 host 侧、op_api 侧及测试代码中的日志消息,修正拼写错误、纠正日志级别、改善错误信息语义,并做代码格式化。改动不改变任何计算逻辑。 涉及算子:circular_pad、circular_pad_grad、mirror_pad(reflection_pad1d/2d/3d)、pad、pad_v2、pad_v3、pad_v3_grad_replication、transpose、tile ### 改动原因 - 多处错误日志存在拼写错误(dimention→dimension、inpit→input、over flow→overflow、couted→counted、shoule→should、rand→rank 等),影响问题定位效率 - 部分错误路径日志级别错误(如失败路径打印 INFO 而非 ERROR),误导排障 - 部分错误信息语义反义(如 "The last DIM of x is valid" 实为 invalid 场景),或语义不准(如 skip 场景打印 "failed") - 错误信息缺少实际值上下文(如只报 "must be even" 未给实际长度),不利于快速定位 - 中文顿号混入英文日志、单行函数体多行展开等格式问题 ### 改动方法 1. 拼写修正:dimention→dimension、inpit→input、Unsupport→Unsupported、cannot empty→cannot be empty、over flow→overflow、rand→rank、shoule→should、not support→not supported、couted→counted、groups.Got→groups. Got 2. 日志级别修正:test_geir_pad.cpp / test_geir_pad_v2.cpp 中 3 处失败路径 INFO→ERROR 3. 语义修正:circular_pad/circular_pad_grad tiling 中 "is valid"→"is invalid";pad_v3_grad_replication tiling 中 8 处 "failed"→"skipped";pad_onnx_plugin 中 "Dynamic cast failed"→"The pads attribute is missing in the node";circular_pad_common_tiling 中 "tiling data size"→"tiling data size(bytes)" 4. 错误信息增强:pad_onnx_plugin 补充实际长度值;pad_v3_grad_replication_infershape 补充实际 zDim 值;aclnn_constant_pad_nd 补充实际 padLen 值 5. 格式清理:中文顿号→英文逗号;单行函数体合并;ONNX 注册多行格式化;文件末尾补换行 ## 关联的Issue - #3019 ## 测试 - 改动仅涉及日志文本与格式,不改变计算逻辑,已有 UT 覆盖行为不变 - circular_pad 测试类名修正 circualr→circular(SetUp/TearDown 日志) ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:日志消息清理(拼写/级别/语义修正与格式化) See merge request: cann/ops-math!5337 | 2 个月前 | |
迁移开源TF插件--conversion Co-authored-by: nextyale<yaochen15@huawei.com> # message auto-generated for no-merge-commit merge: !4310 merge transfer-conversion into master 迁移开源TF插件--conversion Created-by: nextyale Commit-by: nextyale Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:迁移TF插件 See merge request: cann/ops-math!4310 | 2 个月前 | |
feat(infershape): 补齐 12 个算子 op_graph InferDataType 注册 Co-authored-by: yangjinhan<yangjinhan@huawei.com> # message auto-generated for no-merge-commit merge: !6644 merge feat/register-infer-datatype into master feat(infershape): 补齐 12 个算子 op_graph InferDataType 注册 Created-by: Ruyue1550 Commit-by: yangjinhan Merged-by: cann-robot Description: ## 描述 按 RT1.0 到 RT2.0 推导框架迁移方案第 1 步(补齐缺失的 InferDataType 注册,零行为变更)要求,为 12 个缺失 InferDataType 注册的算子新增 op_graph/*_graph_infer.cpp 注册文件。本次变更只新增文件、不修改任何存量代码,共 12 个文件、240 行。 ### 改动点 | # | 算子 | 新增文件 | 注册方式 | |---|------|---------|---------| | 1 | Pad | conversion/pad/op_graph/pad_graph_infer.cpp | InferDataTypeOutputSameAsInput | | 2 | PadV2 | conversion/pad_v2/op_graph/pad_v2_graph_infer.cpp | 同上 | | 3 | PadV3 | conversion/pad_v3/op_graph/pad_v3_graph_infer.cpp | 同上 | | 4 | PadV3Grad | conversion/pad_v3_grad/op_graph/pad_v3_grad_graph_infer.cpp | 同上 | | 5 | MirrorPad | conversion/mirror_pad/op_graph/mirror_pad_graph_infer.cpp | 同上 | | 6 | BroadcastTo | conversion/broadcast_to/op_graph/broadcast_to_graph_infer.cpp | 同上 | | 7 | Transpose | conversion/transpose/op_graph/transpose_graph_infer.cpp | 同上 | | 8 | Rint | math/rint/op_graph/rint_graph_infer.cpp | 同上 | | 9 | TruncateDiv | math/truncate_div/op_graph/truncate_div_graph_infer.cpp | 同上 | | 10 | Expand | math/expand/op_graph/expand_graph_infer.cpp | 同上 | | 11 | GetShape | math/get_shape/op_graph/get_shape_graph_infer.cpp | 专门推导,输出固定 INT32 | | 12 | HistogramFixedWidth | math/histogram_fixed_width/op_graph/histogram_fixed_width_graph_infer.cpp | 专门推导,输出固定 INT32 | ### 改动原因 1. 背景:RT2.0 V2 路径的 dtype 推导在未注册 InferDataType 时依赖 IR(proto/def 的 TensorType)符号映射兜底。以显式注册替代隐式兜底,使推导逻辑代码自明、不依赖 IR 声明的隐式行为,并为后续推导框架切换就位 op_graph 注册设施。 2. dtype 语义逐算子以 RT1.0 SetDataType 为基线核对(迁移原则:非算子语义变更): - 上述 #1-#10 共 10 个算子的 canndev RT1.0 实现均为 SetDataType(input_dtype)(取输入 x 的类型,const/非 const/未知 rank 各分支一致),输出 dtype 跟随输入,故注册仓内公共推导函数 InferDataTypeOutputSameAsInput,与本仓已有 Tile/Erfc/TruncateMod 注册同构; - GetShape、HistogramFixedWidth 的 RT1.0 实现硬编码 SetDataType(DT_INT32),输出为形状值/直方图计数,与输入 dtype 无关,故注册输出固定 INT32 的专门推导,与两者 proto/def 中 OUTPUT(y, TensorType({DT_INT32})) 声明一致。 3. 零行为变更:注册结果与 IR 符号推导兜底结果一致,不改变任何现网推导行为。 4. 构建零改动:op_graph/*.cpp 由 CMake GLOB_RECURSE 自动收集(cmake/func.cmake),无需修改 CMakeLists。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/4099 ## 测试 - 本地无 CANN 构建环境,未执行编译与 UT,请通过门禁验证(评论 compile 触发 CI) - 已完成静态核对:13 个注册的 dtype 语义与 canndev RT1.0 SetDataType 逐分支一致、与各算子 proto/def 输出声明一致、与本仓已有同款注册(tile/erfc/truncate_mod/circular_pad)代码风格一致 - UT dtype 断言用例(断言注册结果=兜底结果)可随检视意见补充 ## 文档更新 无需更新文档(纯推导注册代码,无接口与行为变化) ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6644 | 14 天前 | |
feat: circularpad/circularpadgrad/padv2算子适配ascend350 Co-authored-by: wuyan<wuyan23@huawei.com> # message auto-generated for no-merge-commit merge: !6416 merge master into master feat: circularpad/circularpadgrad/padv2算子适配ascend350 Created-by: rrely11 Commit-by: wuyan Merged-by: cann-robot Description: ## 描述 本 PR 将 CircularPad、CircularPadGrad、PadV2 三个算子适配 ascend350 芯片,并修正 CircularPadGrad 的 License 头信息 主要改动: 1. CircularPad 适配 ascend350 - CMakeLists.txt:支持芯片列表新增 ascend350,对应的 tiling 目录映射为 arch35。 - circular_pad_def.cpp:将 ascend950 的 OpAICoreConfig 重命名为通用 aicore_config,并复用该配置注册 ascend350。 2. CircularPadGrad 适配 ascend350 - CMakeLists.txt:支持芯片列表新增 ascend350,tiling 目录映射为 arch35。 - circular_pad_grad_def.cpp:复用 aicore_config 注册 ascend350。 - 新增 op_host/config/ascend350/circular_pad_grad_binary.json,覆盖 float16、bfloat16、float32 三种 dtype(paddings 为 int64)。 3. PadV2 适配 ascend350 - CMakeLists.txt:支持芯片列表新增 ascend350,tiling 目录映射为 arch35。 - pad_v2_def.cpp:复用 aicore_config 注册 ascend350。 - 新增 op_host/config/ascend350/pad_v2_binary.json,覆盖 int8/int64/float16/float32/float4_e2m1 等 dtype 组合(paddings 为 int32/int64)。 - scripts/kernel/binary_config/ascendc_config.json:PadV2 的 compute_units 新增 ascend350。 4. 修正 License 头 - conversion/circular_pad_grad/CMakeLists.txt 的 License 头格式统一为 CANN Open Software License 标准格式。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> https://gitcode.com/cann/ops-math/issues/3778 <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6416 | 20 天前 | |
refactor: pad/mirror_pad/pad_v2/pad_v3 apt 入口消重,PAD_SLICE 分发链收敛至 pad_slice.h Co-authored-by: Xbying<2119046648@qq.com> # message auto-generated for no-merge-commit merge: !5604 merge 12 into master refactor: pad/mirror_pad/pad_v2/pad_v3 apt 入口消重,PAD_SLICE 分发链收敛至 pad_slice.h Created-by: 2301_81474000 Commit-by: Xbying Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 按“公共逻辑单点维护”原则收敛上述重复:pad_v3_grad 公共头新增 PrepareSimtGradArrays、BuildWAxisMidLeftRightIndices(结构体传参)、CopyGradOutputToGM、SetEvent/WaitEvent;PAD_SLICE 宏与分发函数 RunPadSliceProcess 收敛至 pad_slice.h。各调用方改为一次调用或薄委托,模式特有逻辑(dim 分发链、chanHBase 推导、偏移数组)保留原地。全部改动经 opc 编译与 A/B 二进制对比验证,生成代码逐函数等价或逐字节一致,热路径零变化。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3150 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5604 | 1 个月前 | |
fix: pad系列、depth_to_space UT问题 Co-authored-by: zhanw_coding<zhanwang@huawei.com> # message auto-generated for no-merge-commit merge: !6710 merge fix-ut into master fix: pad系列、depth_to_space UT问题 Created-by: zhanw_coding Commit-by: zhanw_coding Merged-by: cann-robot Description: ## 描述 修复 pad 系列(Pad / PadV2 / MirrorPad)与 CircularPadGrad、DepthToSpace 共 5 个算子 arch35 tiling UT 的过期期望,使其与上游 tiling 改动对齐,恢复 UT 通过。 改动原因: - commit 63be43b14(MR !5969「pad_v3/pad_v3_grad 去除tiling多余workspace申请」)将共享 tiling 的 workspace 由 16MB 改为 0,但复用同一 PadACTiling / PadV3GradACTiling 的 Pad、PadV2、MirrorPad、CircularPadGrad arch35 用例仍期望 16777216,未同步更新,导致 tiling_case_executor 断言 workspace 不符而失败。 - commit a3439d3c9(MR !6332「transpose 支持 ascend960dt/ascend960pr 平台及 4bit 类型」)在 TransposeOpTilingData 中新增 int64 字段 bigDimBufferNum,DepthToSpaceTilingData 内嵌复用该结构,depth_to_space 用例 expectTilingData 未同步,字段整体错位一位而失败。 改动方法: - 将上述非 slice 分支的 arch35 用例 expectWorkspaces 由 16777216 更新为 0;PadV2 的 slice 分支(tilingKey 10102/10150)在 tiling 中提前返回、不设置 workspace,仍保持 16777216。 - 将 depth_to_space 4 个用例的 expectTilingData 按新结构补齐 bigDimBufferNum 字段(SIMT 小 shape 路径默认值 1)。 ## 关联的Issue 本 PR 修复以下 36 个 UT 失败 issue: ### CircularPadGrad(conversion/circular_pad_grad) - https://gitcode.com/cann/ops-math/issues/4025 - https://gitcode.com/cann/ops-math/issues/4026 - https://gitcode.com/cann/ops-math/issues/4027 - https://gitcode.com/cann/ops-math/issues/4028 - https://gitcode.com/cann/ops-math/issues/4029 - https://gitcode.com/cann/ops-math/issues/4030 - https://gitcode.com/cann/ops-math/issues/4031 - https://gitcode.com/cann/ops-math/issues/4032 - https://gitcode.com/cann/ops-math/issues/4033 - https://gitcode.com/cann/ops-math/issues/4034 - https://gitcode.com/cann/ops-math/issues/4035 ### DepthToSpace(conversion/depth_to_space) - https://gitcode.com/cann/ops-math/issues/4036 - https://gitcode.com/cann/ops-math/issues/4037 - https://gitcode.com/cann/ops-math/issues/4038 - https://gitcode.com/cann/ops-math/issues/4039 ### MirrorPad(conversion/mirror_pad) - https://gitcode.com/cann/ops-math/issues/4041 ### Pad(conversion/pad) - https://gitcode.com/cann/ops-math/issues/4042 - https://gitcode.com/cann/ops-math/issues/4043 - https://gitcode.com/cann/ops-math/issues/4044 - https://gitcode.com/cann/ops-math/issues/4045 - https://gitcode.com/cann/ops-math/issues/4046 - https://gitcode.com/cann/ops-math/issues/4047 ### PadV2(conversion/pad_v2) - https://gitcode.com/cann/ops-math/issues/4048 - https://gitcode.com/cann/ops-math/issues/4049 - https://gitcode.com/cann/ops-math/issues/4050 - https://gitcode.com/cann/ops-math/issues/4051 - https://gitcode.com/cann/ops-math/issues/4052 - https://gitcode.com/cann/ops-math/issues/4053 - https://gitcode.com/cann/ops-math/issues/4054 - https://gitcode.com/cann/ops-math/issues/4055 - https://gitcode.com/cann/ops-math/issues/4056 - https://gitcode.com/cann/ops-math/issues/4057 - https://gitcode.com/cann/ops-math/issues/4058 - https://gitcode.com/cann/ops-math/issues/4059 - https://gitcode.com/cann/ops-math/issues/4060 - https://gitcode.com/cann/ops-math/issues/4061 ## 测试 对每个算子执行 bash build.sh -u --ophost --soc=ascend950 --ops=<算子名>,全部通过: | 算子 | 结果 | |------|------| | circular_pad_grad | 15/15 PASSED | | depth_to_space | 11/11 PASSED | | mirror_pad | 10/10 PASSED | | pad | 16/16 PASSED | | pad_v2 | 43/43 PASSED | ## 文档更新 无 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6710 | 15 天前 | |
feat: circularpad/circularpadgrad/padv2算子适配ascend350 Co-authored-by: wuyan<wuyan23@huawei.com> # message auto-generated for no-merge-commit merge: !6416 merge master into master feat: circularpad/circularpadgrad/padv2算子适配ascend350 Created-by: rrely11 Commit-by: wuyan Merged-by: cann-robot Description: ## 描述 本 PR 将 CircularPad、CircularPadGrad、PadV2 三个算子适配 ascend350 芯片,并修正 CircularPadGrad 的 License 头信息 主要改动: 1. CircularPad 适配 ascend350 - CMakeLists.txt:支持芯片列表新增 ascend350,对应的 tiling 目录映射为 arch35。 - circular_pad_def.cpp:将 ascend950 的 OpAICoreConfig 重命名为通用 aicore_config,并复用该配置注册 ascend350。 2. CircularPadGrad 适配 ascend350 - CMakeLists.txt:支持芯片列表新增 ascend350,tiling 目录映射为 arch35。 - circular_pad_grad_def.cpp:复用 aicore_config 注册 ascend350。 - 新增 op_host/config/ascend350/circular_pad_grad_binary.json,覆盖 float16、bfloat16、float32 三种 dtype(paddings 为 int64)。 3. PadV2 适配 ascend350 - CMakeLists.txt:支持芯片列表新增 ascend350,tiling 目录映射为 arch35。 - pad_v2_def.cpp:复用 aicore_config 注册 ascend350。 - 新增 op_host/config/ascend350/pad_v2_binary.json,覆盖 int8/int64/float16/float32/float4_e2m1 等 dtype 组合(paddings 为 int32/int64)。 - scripts/kernel/binary_config/ascendc_config.json:PadV2 的 compute_units 新增 ascend350。 4. 修正 License 头 - conversion/circular_pad_grad/CMakeLists.txt 的 License 头格式统一为 CANN Open Software License 标准格式。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> https://gitcode.com/cann/ops-math/issues/3778 <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6416 | 20 天前 | |
产品名变更 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !5912 merge master into master 产品名变更 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> AI处理器对应的产品型号名称更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3258](https://gitcode.com/cann/ops-math/issues/3258) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5912 | 1 个月前 |
PadV2
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR&950DT系列产品 | √ |
| Atlas A3系列产品 | √ |
| Atlas A2系列产品 | √ |
| Atlas 200I/500 A2推理产品 | √ |
| Atlas推理系列产品 | √ |
| Atlas训练系列产品 | √ |
功能说明
-
算子功能:对输入tensor进行指定值的常量填充。
-
示例:
输入tensor([[0,1,2]]) paddings([[2,2]]) constant_values(0) 输出为([[0,0,0,1,2,0,0]])
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| x | 输入 | 待进行填充的原始tensor。 | FLOAT、FLOAT16、INT32、INT64、INT16、INT8、UINT8、UINT16、UINT32、UINT64、BOOL、DOUBLE、COMPLEX64、COMPLEX128、BFLOAT16、HIFLOAT8、FLOAT8_E5M2、FLOAT8_E4M3FN、FLOAT8_E8M0、FLOAT4_E2M1、FLOAT4_E1M2。 | ND |
| paddings | 输入 | 填充配置,shape=[N, 2],其中N为x的维度数。 | INT32、INT64 | ND |
| constant_values | 输入 | 填充常量值,标量tensor。 | FLOAT、FLOAT16、INT32、INT64、INT16、INT8、UINT8、UINT16、UINT32、UINT64、BOOL、DOUBLE、COMPLEX64、COMPLEX128、BFLOAT16、HIFLOAT8、FLOAT8_E5M2、FLOAT8_E4M3FN、FLOAT8_E8M0、FLOAT4_E2M1、FLOAT4_E1M2。 | ND |
| y | 输出 | 填充后的tensor。 | FLOAT、FLOAT16、INT32、INT64、INT16、INT8、UINT8、UINT16、UINT32、UINT64、BOOL、DOUBLE、COMPLEX64、COMPLEX128、BFLOAT16、HIFLOAT8、FLOAT8_E5M2、FLOAT8_E4M3FN、FLOAT8_E8M0、FLOAT4_E2M1、FLOAT4_E1M2。 | ND |
- Atlas训练系列产品、Atlas推理系列产品、Atlas 200I/500 A2推理产品:数据类型不支持BFLOAT16、HIFLOAT8、FLOAT8_E5M2、FLOAT8_E4M3FN、FLOAT8_E8M0、FLOAT4_E2M1、FLOAT4_E1M2。
- Atlas A3系列产品、Atlas A2系列产品:数据类型不支持HIFLOAT8、FLOAT8_E5M2、FLOAT8_E4M3FN、FLOAT8_E8M0、FLOAT4_E2M1、FLOAT4_E1M2。
输出shape计算
y.shape[d] = x.shape[d] + paddings[d][0] + paddings[d][1]
约束说明
-
维度约束:
- x的维度数必须在 [1, 8] 范围内
- paddings的第一维必须等于x的维度数
- paddings的第二维必须等于2
-
数据类型约束:
- x、constant_values、y必须使用相同的数据类型
- paddings必须使用INT32或INT64
-
填充约束:
- 负填充(slice)时,输出shape = x.shape[d] + left + right >= 0
-
paddings参数约束
- paddings的形状必须为 [rank, 2],其中rank为输入x的维度数(1~8)
- 每一行 [left, right] 表示对应维度的填充数量
- left: 在该维度的开头填充的元素数
- right: 在该维度的末尾填充的元素数
- paddings的值可以为:
- 正数:表示填充
- 负数:表示slice(裁剪)
- 零:表示不填充
调用说明
| 调用方式 | 调用样例 | 说明 |
|---|---|---|
| aclnn调用 | test_geir_pad_v2.cpp | 通过 算子IR接口方式调用PadV2算子 |