(bottom)
return pool_ave, conv_1x1, conv_1x1_bn, conv_1x1_scale, conv_1x1_relu, conv_1x1_2, conv_1x1_2_bn, conv_1x1_2_scale, \
           conv_1x1_2_relu, conv_1x1_3, conv_1x1_3_bn, conv_1x1_3_scale, conv_1x1_3_relu, conv_1x3, conv_1x3_bn, \
           conv_1x3_scale, conv_1x3_relu, conv_3x1, conv_3x1_bn, conv_3x1_scale, conv_3x1_relu, conv_1x1_4, \
           conv_1x1_4_bn, conv_1x1_4_scale, conv_1x1_4_relu, conv_1x3_2, conv_1x3_2_bn, conv_1x3_2_scale, \
           conv_1x3_2_relu, conv_3x1_2, conv_3x1_2_bn, conv_3x1_2_scale, conv_3x1_2_relu, conv_1x3_3, conv_1x3_3_bn, \
           conv_1x3_3_scale, conv_1x3_3_relu, conv_3x1_3, conv_3x1_3_bn, conv_3x1_3_scale, conv_3x1_3_relu, concat
input:1536x8x8
    output:1536x8x8
    :param bottom: bottom layer
    :return: layers
input:1536x8x8
    output:1536x8x8
    :param bottom: bottom layer
    :return: layers
input : 1536x8x8 output : 1536x8x8 : param bottom : bottom layer : return : layers
def inception_v4_c(bottom):
    """
    input:1536x8x8
    output:1536x8x8
    :param bottom: bottom layer
    :return: layers
    """
    pool_ave = L.Pooling(bottom, kernel_size=3, stride=1, pad=1, pool=P.Pooling.AVE)  # 1536x8x8
    conv_1x1, conv_1x1_bn, conv_1x1_scale, conv_1x1_relu = \
        factorization_conv_bn_scale_relu(pool_ave, num_output=256, kernel_size=1)  # 256x8x8

    conv_1x1_2, conv_1x1_2_bn, conv_1x1_2_scale, conv_1x1_2_relu = \
        factorization_conv_bn_scale_relu(bottom, num_output=256, kernel_size=1)  # 256x8x8

    conv_1x1_3, conv_1x1_3_bn, conv_1x1_3_scale, conv_1x1_3_relu = \
        factorization_conv_bn_scale_relu(bottom, num_output=384, kernel_size=1)  # 384x8x8
    conv_1x3, conv_1x3_bn, conv_1x3_scale, conv_1x3_relu = \
        factorization_conv_mxn(conv_1x1_3, num_output=256, kernel_h=1, kernel_w=3, pad_h=0, pad_w=1)  # 256x8x8
    conv_3x1, conv_3x1_bn, conv_3x1_scale, conv_3x1_relu = \
        factorization_conv_mxn(conv_1x1_3, num_output=256, kernel_h=3, kernel_w=1, pad_h=1, pad_w=0)  # 256x8x8

    conv_1x1_4, conv_1x1_4_bn, conv_1x1_4_scale, conv_1x1_4_relu = \
        factorization_conv_bn_scale_relu(bottom, num_output=384, kernel_size=1)  # 384x8x8
    conv_1x3_2, conv_1x3_2_bn, conv_1x3_2_scale, conv_1x3_2_relu = \
        factorization_conv_mxn(conv_1x1_4, num_output=448, kernel_h=1, kernel_w=3, pad_h=0, pad_w=1)  # 448x8x8
    conv_3x1_2, conv_3x1_2_bn, conv_3x1_2_scale, conv_3x1_2_relu = \
        factorization_conv_mxn(conv_1x3_2, num_output=512, kernel_h=3, kernel_w=1, pad_h=1, pad_w=0)  # 512x8x8
    conv_1x3_3, conv_1x3_3_bn, conv_1x3_3_scale, conv_1x3_3_relu = \
        factorization_conv_mxn(conv_3x1_2, num_output=256, kernel_h=1, kernel_w=3, pad_h=0, pad_w=1)  # 256x8x8
    conv_3x1_3, conv_3x1_3_bn, conv_3x1_3_scale, conv_3x1_3_relu = \
        factorization_conv_mxn(conv_3x1_2, num_output=256, kernel_h=3, kernel_w=1, pad_h=1, pad_w=0)  # 256x8x8

    concat = L.Concat(conv_1x1, conv_1x1_2, conv_1x3, conv_3x1, conv_1x3_3,
                      conv_3x1_3)  # 1536(256+256+256+256+256+256)x17x17

    return pool_ave, conv_1x1, conv_1x1_bn, conv_1x1_scale, conv_1x1_relu, conv_1x1_2, conv_1x1_2_bn, conv_1x1_2_scale, \
           conv_1x1_2_relu, conv_1x1_3, conv_1x1_3_bn, conv_1x1_3_scale, conv_1x1_3_relu, conv_1x3, conv_1x3_bn, \
           conv_1x3_scale, conv_1x3_relu, conv_3x1, conv_3x1_bn, conv_3x1_scale, conv_3x1_relu, conv_1x1_4, \
           conv_1x1_4_bn, conv_1x1_4_scale, conv_1x1_4_relu, conv_1x3_2, conv_1x3_2_bn, conv_1x3_2_scale, \
           conv_1x3_2_relu, conv_3x1_2, conv_3x1_2_bn, conv_3x1_2_scale, conv_3x1_2_relu, conv_1x3_3, conv_1x3_3_bn, \
           conv_1x3_3_scale, conv_1x3_3_relu, conv_3x1_3, conv_3x1_3_bn, conv_3x1_3_scale, conv_3x1_3_relu, concat
def inception_v4_c ( bottom ) : pool_ave = L . Pooling ( bottom , kernel_size = 3 , stride = 1 , pad = 1 , pool = P . Pooling . AVE ) # 1536x8x8 conv_1x1 , conv_1x1_bn , conv_1x1_scale , conv_1x1_relu = factorization_conv_bn_scale_relu ( pool_ave , num_output = 256 , kernel_size = 1 ) # 256x8x8 conv_1x1_2 , conv_1x1_2_bn , conv_1x1_2_scale , conv_1x1_2_relu = factorization_conv_bn_scale_relu ( bottom , num_output = 256 , kernel_size = 1 ) # 256x8x8 conv_1x1_3 , conv_1x1_3_bn , conv_1x1_3_scale , conv_1x1_3_relu = factorization_conv_bn_scale_relu ( bottom , num_output = 384 , kernel_size = 1 ) # 384x8x8 conv_1x3 , conv_1x3_bn , conv_1x3_scale , conv_1x3_relu = factorization_conv_mxn ( conv_1x1_3 , num_output = 256 , kernel_h = 1 , kernel_w = 3 , pad_h = 0 , pad_w = 1 ) # 256x8x8 conv_3x1 , conv_3x1_bn , conv_3x1_scale , conv_3x1_relu = factorization_conv_mxn ( conv_1x1_3 , num_output = 256 , kernel_h = 3 , kernel_w = 1 , pad_h = 1 , pad_w = 0 ) # 256x8x8 conv_1x1_4 , conv_1x1_4_bn , conv_1x1_4_scale , conv_1x1_4_relu = factorization_conv_bn_scale_relu ( bottom , num_output = 384 , kernel_size = 1 ) # 384x8x8 conv_1x3_2 , conv_1x3_2_bn , conv_1x3_2_scale , conv_1x3_2_relu = factorization_conv_mxn ( conv_1x1_4 , num_output = 448 , kernel_h = 1 , kernel_w = 3 , pad_h = 0 , pad_w = 1 ) # 448x8x8 conv_3x1_2 , conv_3x1_2_bn , conv_3x1_2_scale , conv_3x1_2_relu = factorization_conv_mxn ( conv_1x3_2 , num_output = 512 , kernel_h = 3 , kernel_w = 1 , pad_h = 1 , pad_w = 0 ) # 512x8x8 conv_1x3_3 , conv_1x3_3_bn , conv_1x3_3_scale , conv_1x3_3_relu = factorization_conv_mxn ( conv_3x1_2 , num_output = 256 , kernel_h = 1 , kernel_w = 3 , pad_h = 0 , pad_w = 1 ) # 256x8x8 conv_3x1_3 , conv_3x1_3_bn , conv_3x1_3_scale , conv_3x1_3_relu = factorization_conv_mxn ( conv_3x1_2 , num_output = 256 , kernel_h = 3 , kernel_w = 1 , pad_h = 1 , pad_w = 0 ) # 256x8x8 concat = L . Concat ( conv_1x1 , conv_1x1_2 , conv_1x3 , conv_3x1 , conv_1x3_3 , conv_3x1_3 ) # 1536(256+256+256+256+256+256)x17x17 return pool_ave , conv_1x1 , conv_1x1_bn , conv_1x1_scale , conv_1x1_relu , conv_1x1_2 , conv_1x1_2_bn , conv_1x1_2_scale , conv_1x1_2_relu , conv_1x1_3 , conv_1x1_3_bn , conv_1x1_3_scale , conv_1x1_3_relu , conv_1x3 , conv_1x3_bn , conv_1x3_scale , conv_1x3_relu , conv_3x1 , conv_3x1_bn , conv_3x1_scale , conv_3x1_relu , conv_1x1_4 , conv_1x1_4_bn , conv_1x1_4_scale , conv_1x1_4_relu , conv_1x3_2 , conv_1x3_2_bn , conv_1x3_2_scale , conv_1x3_2_relu , conv_3x1_2 , conv_3x1_2_bn , conv_3x1_2_scale , conv_3x1_2_relu , conv_1x3_3 , conv_1x3_3_bn , conv_1x3_3_scale , conv_1x3_3_relu , conv_3x1_3 , conv_3x1_3_bn , conv_3x1_3_scale , conv_3x1_3_relu , concat