megengine.functional.nn.roi_align¶
- roi_align(inp, rois, output_shape, mode='average', spatial_scale=1.0, sample_points=2, aligned=True)[源代码]¶
对输入进行 roi align。
- 参数
inp (
Tensor
) – 表示输入特征的张量,形状为 (N, C, H, W)。rois (
Tensor
) – (N, 5) 的框数据(box). 第一列是框的下标,其余四列分别xyxy
.output_shape (
Union
[int
,tuple
,list
]) – (height, width) 输出的 rois 的 shape 特征。mode (
str
) – “max” 或 “average”, 使用 max/average 对齐类似 max/average pooling. 默认: “average”spatial_scale (
float
) – 使用这个数值放缩输入框。默认:1.0sample_points (
Union
[int
,tuple
,list
]) – 每个输出样本要采取的输入样本数。0 表示密集采样。默认:2aligned (
bool
) – 是否对齐输入特征,如果 aligned=True,首先选取合适的参数放缩 ROI 然后以 -0.5 的偏移量进行偏移。默认:True
- 返回类型
- 返回
输出张量。
实际案例
import numpy as np from megengine import tensor import megengine.functional as F np.random.seed(42) inp = tensor(np.random.randn(1, 1, 128, 128)) rois = tensor(np.random.random((4, 5))) y = F.vision.roi_align(inp, rois, (2, 2)) print(y.numpy()[0].round(decimals=4))
输出:
[[[0.175 0.175 ] [0.1359 0.1359]]]