捷徑

FeaturePyramidNetwork

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

模組,用於在一組特徵圖之上新增 FPN。這是基於 “用於物件偵測的特徵金字塔網路”

目前特徵圖應按深度遞增的順序排列。

模型的輸入應為 OrderedDict[Tensor],其中包含 FPN 將新增於其上的特徵圖。

參數:
  • in_channels_list (list[int]) – 傳遞給模組的每個特徵圖的通道數

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

  • extra_blocks (ExtraFPNBlockNone) – 如果提供,將執行額外的運算。預期它將 FPN 特徵、原始特徵和原始特徵的名稱作為輸入,並傳回新的特徵圖列表及其相應的名稱

  • norm_layer (callable, optional) – 指定要使用的標準化層模組。預設值: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][原始碼]

計算一組特徵圖的 FPN。

參數:

x (OrderedDict[Tensor]) – 每個特徵層級的特徵圖。

傳回:

經過 FPN 層後的特徵圖。

它們按照解析度由高到低排序。

傳回類型:

results (OrderedDict[Tensor])

get_result_from_inner_blocks(x: Tensor, idx: int) Tensor[原始碼]

這等同於 self.inner_blocks[idx](x),但 torchscript 尚不支援此功能

get_result_from_layer_blocks(x: Tensor, idx: int) Tensor[原始碼]

這等同於 self.layer_blocks[idx](x),但 torchscript 尚不支援此功能

文件

取得 PyTorch 的完整開發者文件

檢視文件

教學

取得針對初學者和進階開發者的深入教學

檢視教學

資源

尋找開發資源並取得問題解答

檢視資源