CANN/ops-math SpaceToBatch算子

CANN/ops-math SpaceToBatch算子 SpaceToBatch【免费下载链接】ops-math本项目是CANN提供的数学类基础计算算子库实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-math产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√Atlas 200I/500 A2 推理产品×Atlas 推理系列产品√Atlas 训练系列产品√功能说明算子功能将空间维度的数据按块重新排列到批次维度并对空间维度补零。功能描述 该算子首先根据 paddings 参数对输入的空间维度进行 zero-padding然后将 padded 空间划分为block_size × block_size的块每个块搬移到批次维度。输出批次维度变为输入的block_size × block_size倍空间维度相应缩小。计算公式 设输入 x 为 4D NHWC 张量[N, H_in, W_in, C]block_size bspaddings [[pad_top, pad_bottom], [pad_left, pad_right]]。H_padded H_in pad_top pad_bottomW_padded W_in pad_left pad_rightH_out H_padded / bsW_out W_padded / bs。要求 H_padded 和 W_padded 均能被 bs 整除。输出 y 形状为[N * bs * bs, H_out, W_out, C]。坐标映射输出 → 输入n n_out / (bs * bs) bh (n_out % (bs * bs)) / bs bw n_out % bs h_in h_out * bs bh - pad_top w_in w_out * bs bw - pad_left 若 0 ≤ h_in H_in 且 0 ≤ w_in W_in y[n_out, h_out, w_out, c] x[n, h_in, w_in, c] 否则 y[n_out, h_out, w_out, c] 0参数说明参数名输入/输出/属性描述数据类型数据格式x输入表示输入张量4D NHWC 张量 [N, H_in, W_in, C]支持多种数据类型INT8、UINT8、INT16、UINT16、INT32、INT64、FLOAT16、FLOAT、DOUBLENHWCpaddings输入表示空间维度 zero-padding 量2D 张量形状为 [2, 2]值为 [[pad_top, pad_bottom], [pad_left, pad_right]]INT32、INT64NDblock_size属性必需表示空间块的尺寸大小必须是大于0的整数。H_padded 和 W_padded 必须能被 block_size 整除INT-y输出表示输出张量与输入x具有相同的数据类型。输出形状为 [N*block_size*block_size, H_out, W_out, C]与x一致NHWC约束说明输入张量 x 必须为 4D NHWC 格式。block_size 必须大于 0。paddings 形状为 [2, 2]每个元素 0。H_padded H_in pad_top pad_bottom 必须能被 block_size 整除。W_padded W_in pad_left pad_right 必须能被 block_size 整除。block_size 为编译期常量算子属性非运行时 tensor 输入。调用说明调用方式样例代码说明图模式test_geir_space_to_batch通过算子IR构图方式调用SpaceToBatch算子。【免费下载链接】ops-math本项目是CANN提供的数学类基础计算算子库实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-math创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考