RoIPool

class paddle.vision.ops. RoIPool ( output_size, spatial_scale=1.0 ) [源代码]

构建一个 RoIPool 类的可调用对象。请参见 roi_pool API。

参数

  • output_size (int|Tuple[int, int]) - 池化后输出的尺寸(H, W),数据类型为 int32。如果 output_size 是 int 类型,H 和 W 都与其相等。

  • spatial_scale (float,可选) - 空间比例因子,用于将 boxes 中的坐标从其输入尺寸按比例映射到 input 特征图的尺寸,默认值 1.0。

返回

Tensor,为池化后的 ROIs,为一个形状是(Roi 数量,输出通道数,池化后高度,池化后宽度)的 4-D Tensor。输出通道数等于输入通道数/(池化后高度 * 池化后宽度)。

代码示例

>>> import paddle
>>> from paddle.vision.ops import RoIPool

>>> data = paddle.rand([1, 256, 32, 32])
>>> boxes = paddle.rand([3, 4])
>>> boxes[:, 2] += boxes[:, 0] + 3
>>> boxes[:, 3] += boxes[:, 1] + 4
>>> boxes_num = paddle.to_tensor([3]).astype('int32')
>>> roi_pool = RoIPool(output_size=(4, 3))
>>> pool_out = roi_pool(data, boxes, boxes_num)
>>> print(pool_out.shape)
[3, 256, 4, 3]