ROIAlignGrad【免费下载链接】ops-cv本项目是CANN提供的图像处理、目标检测相关的算子库实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-cv产品支持情况产品是否支持Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明算子功能ROIAlign 的反向传播。ROIAlign 是一种池化层用于非均匀输入尺寸的特征图并输出固定尺寸的特征图本算子将正向输出的梯度y_diff依据感兴趣区域rois反向散射累加回输入特征图梯度x_diff。计算公式输入节点y_diff (shape[K,C,pooled_height,pooled_width], FLOAT32) - 反向传播的输入梯度K 为 roi 个数。rois (shape[K,5], FLOAT32) - 感兴趣区域坐标 (image_id, x1, y1, x2, y2)。计算节点Step1: 依据spatial_scale将 roi 坐标映射到输入特征图尺度roi_end_mode为 2 时坐标偏移 -0.5 使相邻像素索引更好对齐。Step2: 对每个输出网格 (pooled_height × pooled_width)按sample_num在 bin 内均匀采样计算双线性插值的 4 个邻点坐标与权重。Step3: 将y_diff上对应位置的梯度按双线性权重散射累加原子写回到x_diff的 4 个邻点。输出节点x_diff (shape 由xdiff_shape指定 [B,C,inputHeight,inputWidth], FLOAT32) - 反向传播的输出梯度。参数说明参数名输入/输出/属性描述数据类型数据格式y_diff输入反向传播的输入梯度 [K,C,pooled_height,pooled_width]。FLOAT32ND/NCHW/NC1HWC0rois输入感兴趣区域坐标 [K,5]5 代表 (image_id, x1, y1, x2, y2)。FLOAT32NDx_diff输出反向传播的输出梯度 [B,C,inputHeight,inputWidth]。FLOAT32ND/NCHW/NC1HWC0xdiff_shape属性正向输入的 shape用来指定反向输出 x_diff 的 shape (B,C,inputHeight,inputWidth)。ListInt-pooled_width属性正向 ROIAlign 池化后输出图像的宽度。Int-pooled_height属性正向 ROIAlign 池化后输出图像的高度。Int-spatial_scale属性乘法空间尺度因子将 roi 坐标从输入空间尺度转换为池化时使用的尺度需大于 0。Float-sample_num属性可选默认 2ROIAlign 中每个输出元素在 H 和 W 方向上的采样频率需大于等于 0。Int-roi_end_mode属性可选默认 1roi 坐标对齐模式2 时坐标偏移 -0.5 对齐相邻像素索引。Int-约束说明目前只支持 float32 输入。rois 第 1 维固定为 5且第 0 维需与 y_diff 第 0 维K保持一致。image_id 取值范围 [0, B)B 为 xdiff_shape 的第一个值。调用说明调用方式调用样例说明aclnn调用test_aclnn_roi_align_grad通过 aclnnRoiAlignV2Backward 接口方式调用 ROIAlignGrad 算子。贡献说明贡献方贡献者贡献时间贡献内容西北工业大学智能感知交互实验室Xzz2026/7/8ROIAlignGrad 算子适配开源仓【免费下载链接】ops-cv本项目是CANN提供的图像处理、目标检测相关的算子库实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-cv创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考