(bottom)
return pool, conv_3x3_reduce, conv_3x3_reduce_bn, conv_3x3_reduce_scale, conv_3x3_reduce_relu, conv_3x3, \
           conv_3x3_bn, conv_3x3_scale, conv_3x3_relu, conv_1x7_reduce, conv_1x7_reduce_bn, conv_1x7_reduce_scale, \
           conv_1x7_reduce_relu, conv_1x7, conv_1x7_bn, conv_1x7_scale, conv_1x7_relu, conv_7x1, conv_7x1_bn, \
           conv_7x1_scale, conv_7x1_relu, conv_3x3_2, conv_3x3_2_bn, conv_3x3_2_scale, conv_3x3_2_relu, concat
input:1024x17x17
    output:1536x8x8
    :param bottom: bottom layer
    :return: layers
input:1024x17x17
    output:1536x8x8
    :param bottom: bottom layer
    :return: layers
input : 1024x17x17 output : 1536x8x8 : param bottom : bottom layer : return : layers
def reduction_v4_b(bottom):
    """
    input:1024x17x17
    output:1536x8x8
    :param bottom: bottom layer
    :return: layers
    """
    pool = L.Pooling(bottom, kernel_size=3, stride=2, pool=P.Pooling.MAX)  # 1024x8x8

    conv_3x3_reduce, conv_3x3_reduce_bn, conv_3x3_reduce_scale, conv_3x3_reduce_relu = \
        factorization_conv_bn_scale_relu(bottom, num_output=192, kernel_size=1)  # 192x17x17
    conv_3x3, conv_3x3_bn, conv_3x3_scale, conv_3x3_relu = \
        factorization_conv_bn_scale_relu(conv_3x3_reduce, num_output=192, kernel_size=3, stride=2)  # 192x8x8

    conv_1x7_reduce, conv_1x7_reduce_bn, conv_1x7_reduce_scale, conv_1x7_reduce_relu = \
        factorization_conv_bn_scale_relu(bottom, num_output=256, kernel_size=1)  # 256x17x17
    conv_1x7, conv_1x7_bn, conv_1x7_scale, conv_1x7_relu = \
        factorization_conv_mxn(conv_1x7_reduce, num_output=256, kernel_h=1, kernel_w=7, pad_h=0, pad_w=3)  # 256x17x17
    conv_7x1, conv_7x1_bn, conv_7x1_scale, conv_7x1_relu = \
        factorization_conv_mxn(conv_1x7, num_output=320, kernel_h=7, kernel_w=1, pad_h=3, pad_w=0)  # 320x17x17
    conv_3x3_2, conv_3x3_2_bn, conv_3x3_2_scale, conv_3x3_2_relu = \
        factorization_conv_bn_scale_relu(conv_7x1, num_output=320, kernel_size=3, stride=2)  # 320x8x8

    concat = L.Concat(pool, conv_3x3, conv_3x3_2)  # 1536(1024+192+320)x8x8

    return pool, conv_3x3_reduce, conv_3x3_reduce_bn, conv_3x3_reduce_scale, conv_3x3_reduce_relu, conv_3x3, \
           conv_3x3_bn, conv_3x3_scale, conv_3x3_relu, conv_1x7_reduce, conv_1x7_reduce_bn, conv_1x7_reduce_scale, \
           conv_1x7_reduce_relu, conv_1x7, conv_1x7_bn, conv_1x7_scale, conv_1x7_relu, conv_7x1, conv_7x1_bn, \
           conv_7x1_scale, conv_7x1_relu, conv_3x3_2, conv_3x3_2_bn, conv_3x3_2_scale, conv_3x3_2_relu, concat
def reduction_v4_b ( bottom ) : pool = L . Pooling ( bottom , kernel_size = 3 , stride = 2 , pool = P . Pooling . MAX ) # 1024x8x8 conv_3x3_reduce , conv_3x3_reduce_bn , conv_3x3_reduce_scale , conv_3x3_reduce_relu = factorization_conv_bn_scale_relu ( bottom , num_output = 192 , kernel_size = 1 ) # 192x17x17 conv_3x3 , conv_3x3_bn , conv_3x3_scale , conv_3x3_relu = factorization_conv_bn_scale_relu ( conv_3x3_reduce , num_output = 192 , kernel_size = 3 , stride = 2 ) # 192x8x8 conv_1x7_reduce , conv_1x7_reduce_bn , conv_1x7_reduce_scale , conv_1x7_reduce_relu = factorization_conv_bn_scale_relu ( bottom , num_output = 256 , kernel_size = 1 ) # 256x17x17 conv_1x7 , conv_1x7_bn , conv_1x7_scale , conv_1x7_relu = factorization_conv_mxn ( conv_1x7_reduce , num_output = 256 , kernel_h = 1 , kernel_w = 7 , pad_h = 0 , pad_w = 3 ) # 256x17x17 conv_7x1 , conv_7x1_bn , conv_7x1_scale , conv_7x1_relu = factorization_conv_mxn ( conv_1x7 , num_output = 320 , kernel_h = 7 , kernel_w = 1 , pad_h = 3 , pad_w = 0 ) # 320x17x17 conv_3x3_2 , conv_3x3_2_bn , conv_3x3_2_scale , conv_3x3_2_relu = factorization_conv_bn_scale_relu ( conv_7x1 , num_output = 320 , kernel_size = 3 , stride = 2 ) # 320x8x8 concat = L . Concat ( pool , conv_3x3 , conv_3x3_2 ) # 1536(1024+192+320)x8x8 return pool , conv_3x3_reduce , conv_3x3_reduce_bn , conv_3x3_reduce_scale , conv_3x3_reduce_relu , conv_3x3 , conv_3x3_bn , conv_3x3_scale , conv_3x3_relu , conv_1x7_reduce , conv_1x7_reduce_bn , conv_1x7_reduce_scale , conv_1x7_reduce_relu , conv_1x7 , conv_1x7_bn , conv_1x7_scale , conv_1x7_relu , conv_7x1 , conv_7x1_bn , conv_7x1_scale , conv_7x1_relu , conv_3x3_2 , conv_3x3_2_bn , conv_3x3_2_scale , conv_3x3_2_relu , concat