快捷方式

FeaturePyramidNetwork

class torchvision.ops.FeaturePyramidNetwork(in_channels_list: List[int], out_channels: int, extra_blocks: Optional[ExtraFPNBlock] = None, norm_layer: Optional[Callable[[...], Module]] = None)[source]

一个模块,用于在一组特征图之上添加 FPN。这基于论文《用于目标检测的特征金字塔网络》

特征图目前应按深度递增的顺序排列。

模型的输入应为 OrderedDict[Tensor] 类型,其中包含将添加 FPN 的特征图。

参数:
  • in_channels_list (list[int]) – 传递给模块的每个特征图的通道数

  • out_channels (int) – FPN 表示的通道数

  • extra_blocks (ExtraFPNBlockNone) – 如果提供,将执行额外操作。它应接收 FPN 特征、原始特征和原始特征的名称作为输入,并返回新的特征图列表及其对应名称

  • norm_layer (callable, 可选) – 指定要使用的归一化层的模块。默认值:None

示例

>>> m = torchvision.ops.FeaturePyramidNetwork([10, 20, 30], 5)
>>> # get some dummy data
>>> x = OrderedDict()
>>> x['feat0'] = torch.rand(1, 10, 64, 64)
>>> x['feat2'] = torch.rand(1, 20, 16, 16)
>>> x['feat3'] = torch.rand(1, 30, 8, 8)
>>> # compute the FPN on top of x
>>> output = m(x)
>>> print([(k, v.shape) for k, v in output.items()])
>>> # returns
>>>   [('feat0', torch.Size([1, 5, 64, 64])),
>>>    ('feat2', torch.Size([1, 5, 16, 16])),
>>>    ('feat3', torch.Size([1, 5, 8, 8]))]
forward(x: Dict[str, Tensor]) Dict[str, Tensor][source]

计算一组特征图的 FPN。

参数:

x (OrderedDict[Tensor]) – 每个特征层的特征图。

返回:

经过 FPN 层处理后的特征图。

它们按分辨率从高到低排序。

返回类型:

results (OrderedDict[Tensor])

get_result_from_inner_blocks(x: Tensor, idx: int) Tensor[source]

这等同于 self.inner_blocks[idx](x),但 torchscript 尚不支持此语法。

get_result_from_layer_blocks(x: Tensor, idx: int) Tensor[source]

这等同于 self.layer_blocks[idx](x),但 torchscript 尚不支持此语法。

文档

查阅 PyTorch 的全面开发者文档

查看文档

教程

获取面向初学者和高级开发者的深度教程

查看教程

资源

查找开发资源并解答您的疑问

查看资源