| Files | Last commit | Last update |
|---|---|---|
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 30 days ago | ||
| 2 months ago | ||
| 1 month ago |
PSROIPoolingV2
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR&950DT系列产品 | √ |
| Atlas A3系列产品 | √ |
| Atlas A2系列产品 | √ |
| Atlas 200I/500 A2推理产品 | × |
| Atlas推理系列产品 | × |
| Atlas训练系列产品 | × |
功能说明
PSROIPoolingV2对输入特征图执行位置敏感RoI平均池化。对于每个RoI,算子将每个输出通道和池化位置映射到唯一输入通道,在保留RoI空间布局的同时完成区域聚合,适用于R-FCN等位置敏感目标检测网络。
输入x的逻辑shape为[N,C,H,W],输入rois的shape为[N,5,R]。令O=output_dim、G=group_size,要求C=O*G*G,输出y的shape为[N*R,O,G,G]。每个输出位置对应的输入通道为:
cin=o×G2+ph×G+pwc_{\mathrm{in}} = o \times G^2 + p_h \times G + p_w
算子先对RoI坐标执行rint,再对右下端点加1并乘以spatial_scale,随后裁剪到特征图范围,对对应分组区域求平均。
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
x |
输入 | 输入特征图,shape为[N,C,H,W]。 |
float16、float32 |
ND |
rois |
输入 | RoI数据,shape为[N,5,R],五个平面依次为batch_id,x1,y1,x2,y2。 |
与x相同 |
ND |
y |
输出 | 池化结果,shape为[N*R,output_dim,group_size,group_size]。 |
与x相同 |
ND |
spatial_scale |
属性 | 原图RoI坐标到特征图坐标的缩放比例,必填。 | Float | - |
output_dim |
属性 | 输出通道数,必填。 | Int | - |
group_size |
属性 | 位置敏感分组大小,输出空间为group_size*group_size,必填。 |
Int | - |
约束说明
x必须是4D ND Tensor,rois必须是3D ND Tensor,且rois.shape[1]必须为5。x.shape[0]必须等于rois.shape[0],输入通道数必须满足C=output_dim*group_size²。x、rois和y仅支持全float16或全float32两种组合,不支持混合dtype。spatial_scale必须为有限正数,output_dim必须大于0,group_size的取值范围为[1,127]。rois中的坐标必须有限且非负,round(batch_id)必须位于[0,N-1]。- 支持
N=0或R=0的空输出;已知的C、H和W维必须大于0。 - 坐标处理顺序固定为“取整→右下端点加1→缩放”,不得交换取整与缩放顺序。
- 前向计算为确定性实现;
x中的IEEE NaN/Inf按浮点语义自然传播。
调用说明
| 调用方式 | 调用样例 | 说明 |
|---|---|---|
| 图模式调用 | test_geir_psroi_pooling_v2 | 参见算子调用完成算子编译和验证。 |