(self, in_channels, inner_channels=256, **kwargs)
:param in_channels: 基础网络输出的维度
        :param kwargs:
:param in_channels: 基础网络输出的维度
        :param kwargs:
: param in_channels : 基础网络输出的维度 : param kwargs :
def __init__(self, in_channels, inner_channels=256, **kwargs):
        """
        :param in_channels: 基础网络输出的维度
        :param kwargs:
        """
        super().__init__()
        inplace = True
        self.conv_out = inner_channels
        inner_channels = inner_channels // 4
        # reduce layers
        self.reduce_conv_c2 = ConvBnRelu(in_channels[0], inner_channels, kernel_size=1, inplace=inplace)
        self.reduce_conv_c3 = ConvBnRelu(in_channels[1], inner_channels, kernel_size=1, inplace=inplace)
        self.reduce_conv_c4 = ConvBnRelu(in_channels[2], inner_channels, kernel_size=1, inplace=inplace)
        self.reduce_conv_c5 = ConvBnRelu(in_channels[3], inner_channels, kernel_size=1, inplace=inplace)
        # Smooth layers
        self.smooth_p4 = ConvBnRelu(inner_channels, inner_channels, kernel_size=3, padding=1, inplace=inplace)
        self.smooth_p3 = ConvBnRelu(inner_channels, inner_channels, kernel_size=3, padding=1, inplace=inplace)
        self.smooth_p2 = ConvBnRelu(inner_channels, inner_channels, kernel_size=3, padding=1, inplace=inplace)

        self.conv = nn.Sequential(
            nn.Conv2d(self.conv_out, self.conv_out, kernel_size=3, padding=1, stride=1),
            nn.BatchNorm2d(self.conv_out),
            nn.ReLU(inplace=inplace)
        )
        self.out_channels = self.conv_out
def __init__ ( self , in_channels , inner_channels = 256 , * * kwargs ) : super ( ) . __init__ ( ) inplace = True self . conv_out = inner_channels inner_channels = inner_channels // 4 # reduce layers self . reduce_conv_c2 = ConvBnRelu ( in_channels [ 0 ] , inner_channels , kernel_size = 1 , inplace = inplace ) self . reduce_conv_c3 = ConvBnRelu ( in_channels [ 1 ] , inner_channels , kernel_size = 1 , inplace = inplace ) self . reduce_conv_c4 = ConvBnRelu ( in_channels [ 2 ] , inner_channels , kernel_size = 1 , inplace = inplace ) self . reduce_conv_c5 = ConvBnRelu ( in_channels [ 3 ] , inner_channels , kernel_size = 1 , inplace = inplace ) # Smooth layers self . smooth_p4 = ConvBnRelu ( inner_channels , inner_channels , kernel_size = 3 , padding = 1 , inplace = inplace ) self . smooth_p3 = ConvBnRelu ( inner_channels , inner_channels , kernel_size = 3 , padding = 1 , inplace = inplace ) self . smooth_p2 = ConvBnRelu ( inner_channels , inner_channels , kernel_size = 3 , padding = 1 , inplace = inplace ) self . conv = nn . Sequential ( nn . Conv2d ( self . conv_out , self . conv_out , kernel_size = 3 , padding = 1 , stride = 1 ) , nn . BatchNorm2d ( self . conv_out ) , nn . ReLU ( inplace = inplace ) ) self . out_channels = self . conv_out