builder
model.neck.builder
FPN
FPN(in_channels: Optional[List[int]] = None, out_channels: int = 64, channel_fpn: int = 256, num_feat: int = 4, num_block: int = 1)
Bases: Module
"Feature Pyramid Networks for Object Detection".
Attributes:
-
block_fpn(ModuleList) –torch module list, consists of FpnBlocks.
initializing Feature Pyramid Networks
Parameters:
-
in_channels(List[int], default:None) –channels from backbone network output tensors. Defaults to None.
-
out_channels(int, default:64) –final output channels for FPN. Defaults to 64.
-
channel_fpn(int, default:256) –inner channels for FpnBlocks. Defaults to 256.
-
num_feat(int, default:4) –number of blocks inside of FpnBlocks. Defaults to 4.
-
num_block(int, default:1) –number of FpnBlocks. Defaults to 1.
Source code in SaigeToolkit/model/neck/fpn.py
forward
forward function for FPN
Parameters:
-
features(List[Tensor]) –output tensors from backbone network.
Returns:
-
List[Tensor]–List[torch.Tensor]: output tensors from FPN.
Source code in SaigeToolkit/model/neck/fpn.py
FPN_DB
FPN_DB(in_channels: Optional[List[int]] = None, inner_channels: int = 256, bias: bool = False, *args, **kwargs)
Bases: Module
bias: Whether conv layers have bias or not.
Source code in SaigeToolkit/model/neck/fpn.py
weights_init
forward
Source code in SaigeToolkit/model/neck/fpn.py
BiFPN
BiFPN(in_channels: Optional[List[int]] = None, out_channels: int = 64, channel_fpn: int = 256, num_feat: int = 4, num_block: int = 2)
Bases: Module
"BidirectionalFeaturePyramidNetwork".
Attribute
block_in (nn.ModuleList): list of conv layers, which transfers input channels into fixed channel_fpn block_ex (nn.ModuleList): list of ConvBlock, residual blocks block_fpn (nn.ModuleList): list of BiFpnBlocks block_rtn (nn.ModuleList): list of ConvBlock, refining BiFpnBlock output
initializing Bidirectional FPN
Args:
in_channels (List[int], optional): channels from backbone network output tensors. Defaults to None.
out_channels (int, optional): final output channels for FPN. Defaults to 64.
channel_fpn (int, optional): inner channels for BiFpnBlocks. Defaults to 256.
num_feat (int, optional): number of blocks inside of BiFpnBlocks. Defaults to 4.
num_block (int, optional): number of FpnBlocks. Defaults to 1.
Source code in SaigeToolkit/model/neck/fpn.py
block_fpn
instance-attribute
block_fpn = ModuleList([BiFpnBlock(channel_fpn, num_feat) for _ in range(num_block)])
forward
forward function for FPN
Parameters:
-
inputs(List[Tensor]) –output tensors from backbone network.
Returns:
-
List[Tensor]–List[torch.Tensor]: output tensors from BiFPN.
Source code in SaigeToolkit/model/neck/fpn.py
FPEM_FFM
Bases: Module
PANnet :param backbone_out_channels: 基础网络输出的维度
Source code in SaigeToolkit/model/neck/fpem.py
reduce_conv_c2
instance-attribute
reduce_conv_c2 = Sequential(Conv2d(in_channels=backbone_out_channels[0], out_channels=conv_out, kernel_size=1), BatchNorm2d(conv_out), ReLU())
reduce_conv_c3
instance-attribute
reduce_conv_c3 = Sequential(Conv2d(in_channels=backbone_out_channels[1], out_channels=conv_out, kernel_size=1), BatchNorm2d(conv_out), ReLU())
reduce_conv_c4
instance-attribute
reduce_conv_c4 = Sequential(Conv2d(in_channels=backbone_out_channels[2], out_channels=conv_out, kernel_size=1), BatchNorm2d(conv_out), ReLU())
reduce_conv_c5
instance-attribute
reduce_conv_c5 = Sequential(Conv2d(in_channels=backbone_out_channels[3], out_channels=conv_out, kernel_size=1), BatchNorm2d(conv_out), ReLU())
out_conv
instance-attribute
forward
Source code in SaigeToolkit/model/neck/fpem.py
build_neck
build network 'neck' part, such as FPN "Feature Pyramid Networks for Object Detection".
Parameters:
-
cfg_neck(dict) –configuration parameters for building 'neck' network
Returns:
-
Module–nn.Module: 'neck' network
Source code in SaigeToolkit/model/neck/builder.py
get_neck_class
returns neck network class.
Parameters:
-
cfg_neck_name(str) –neck network class name
Returns:
-
Type[Module]–Type[nn.Module]: neck network class