Im2col【免费下载链接】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 训练系列产品×功能说明算子功能图像到列滑动局部窗口数据转为列向量拼接为大张量。从批处理输入张量中提取滑动窗口。考虑一个形状为N, C, H, W或 (C, H, W) 的批处理input张量其中N是批处理维度 C是通道维度 而 H, W 表示图像大小此操作将input的空间维度内的每个滑动kernel_size大小的块展平为N, C $\times \prod$kernel_size, L的3-D 或 C $\times \prod$kernel_size, L的2-D 的 output张量的列即最后一维而L是这些块的总数。计算公式 $L \prod_{d} \lfloor \frac{spatial_size[d] 2 \times padding[d] - dilation[d] \times kernel_size[d] -1 -1}{stride[d]} 1 \rfloor$, 其中spatial_size由上述input张量的H,W构成。参数说明参数名输入/输出/属性描述数据类型数据格式self输入张量输入张量shape为3维或4维。INT8、UINT8、INT16、UINT16、INT32、UINT32、INT64、UINT64、BFLOAT16、FLOAT16、FLOAT、DOUBLE、BOOL、COMPLEX32、COMPLEX64NDkernelSize输入数组卷积核的大小size为2kernelSize[0]表示H方向kernelSize[1]表示W方向。INT64-dilation输入数组膨胀参数size为2dilation[0]表示H方向dilation[1]表示W方向。INT64-padding输入数组填充大小size为2padding[0]表示H方向padding[1]表示W方向。INT64-stride输入数组步长size为2stride[0]表示H方向stride[1]表示W方向。INT64-out输出张量输出张量shape根据参数推导得出。INT8、UINT8、INT16、UINT16、INT32、UINT32、INT64、UINT64、BFLOAT16、FLOAT16、FLOAT、DOUBLE、BOOL、COMPLEX32、COMPLEX64NDAtlas A3 训练系列产品/Atlas A3 推理系列产品 、 Atlas A2 训练系列产品/Atlas A2 推理系列产品 仅支持FLOAT、FLOAT16、BFLOAT16。约束说明输入张量的维度必须是3维或4维。kernelSize、dilation、padding、stride的size必须为2。kernelSize、dilation、stride的值必须大于0。padding的值不能小于0。调用说明调用方式样例代码说明aclnn调用test_aclnn_im2col通过aclnnIm2col接口方式调用Im2col算子。图模式调用test_geir_im2col通过算子IR构图方式调用Im2col算子。【免费下载链接】ops-math本项目是CANN提供的数学类基础计算算子库实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-math创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考