快捷方式

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 (列表[整数]) – 传递到模块的每个特征图的通道数

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

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

  • norm_layer (可调用对象, 可选) – 指定要使用的归一化层的模块。默认值: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 (有序字典[张量]) – 每个特征级别的特征图。

返回值:

FPN 层之后的特征图。

它们按照从最高分辨率到最低分辨率的顺序排列。

返回类型:

结果 (有序字典[张量])

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 的全面开发者文档

查看文档

教程

获取初学者和高级开发人员的深度教程

查看教程

资源

查找开发资源并获得问题的解答

查看资源