(bottom)
return conv1_3x3_s2, conv1_3x3_s2_bn, conv1_3x3_s2_scale, conv1_3x3_relu, conv2_3x3_s1, conv2_3x3_s1_bn, \
           conv2_3x3_s1_scale, conv2_3x3_s1_relu, conv3_3x3_s1, conv3_3x3_s1_bn, conv3_3x3_s1_scale, conv3_3x3_s1_relu, \
           pool1_3x3_s2, conv4_3x3_reduce, conv4_3x3_reduce_bn, conv4_3x3_reduce_scale, conv4_3x3_reduce_relu, \
           conv4_3x3, conv4_3x3_bn, conv4_3x3_scale, conv4_3x3_relu, pool2_3x3_s2
input:3x299x299
    output:192x35x35
    :param bottom: bottom layer
    :return: layers
input:3x299x299
    output:192x35x35
    :param bottom: bottom layer
    :return: layers
input : 3x299x299 output : 192x35x35 : param bottom : bottom layer : return : layers
def stem_v3_299x299(bottom):
    """
    input:3x299x299
    output:192x35x35
    :param bottom: bottom layer
    :return: layers
    """
    conv1_3x3_s2, conv1_3x3_s2_bn, conv1_3x3_s2_scale, conv1_3x3_relu = \
        factorization_conv_bn_scale_relu(bottom, num_output=32, kernel_size=3, stride=2)  # 32x149x149
    conv2_3x3_s1, conv2_3x3_s1_bn, conv2_3x3_s1_scale, conv2_3x3_s1_relu = \
        factorization_conv_bn_scale_relu(conv1_3x3_s2, num_output=32, kernel_size=3)  # 32x147x147
    conv3_3x3_s1, conv3_3x3_s1_bn, conv3_3x3_s1_scale, conv3_3x3_s1_relu = \
        factorization_conv_bn_scale_relu(conv2_3x3_s1, num_output=64, kernel_size=3, pad=1)  # 64x147x147
    pool1_3x3_s2 = L.Pooling(conv3_3x3_s1, kernel_size=3, stride=2, pool=P.Pooling.MAX)  # 64x73x73

    conv4_3x3_reduce, conv4_3x3_reduce_bn, conv4_3x3_reduce_scale, conv4_3x3_reduce_relu = \
        factorization_conv_bn_scale_relu(pool1_3x3_s2, num_output=80, kernel_size=1)  # 80x73x73
    conv4_3x3, conv4_3x3_bn, conv4_3x3_scale, conv4_3x3_relu = \
        factorization_conv_bn_scale_relu(conv4_3x3_reduce, num_output=192, kernel_size=3)  # 192x71x71
    pool2_3x3_s2 = L.Pooling(conv4_3x3, kernel_size=3, stride=2, pool=P.Pooling.MAX)  # 192x35x35

    return conv1_3x3_s2, conv1_3x3_s2_bn, conv1_3x3_s2_scale, conv1_3x3_relu, conv2_3x3_s1, conv2_3x3_s1_bn, \
           conv2_3x3_s1_scale, conv2_3x3_s1_relu, conv3_3x3_s1, conv3_3x3_s1_bn, conv3_3x3_s1_scale, conv3_3x3_s1_relu, \
           pool1_3x3_s2, conv4_3x3_reduce, conv4_3x3_reduce_bn, conv4_3x3_reduce_scale, conv4_3x3_reduce_relu, \
           conv4_3x3, conv4_3x3_bn, conv4_3x3_scale, conv4_3x3_relu, pool2_3x3_s2
def stem_v3_299x299 ( bottom ) : conv1_3x3_s2 , conv1_3x3_s2_bn , conv1_3x3_s2_scale , conv1_3x3_relu = factorization_conv_bn_scale_relu ( bottom , num_output = 32 , kernel_size = 3 , stride = 2 ) # 32x149x149 conv2_3x3_s1 , conv2_3x3_s1_bn , conv2_3x3_s1_scale , conv2_3x3_s1_relu = factorization_conv_bn_scale_relu ( conv1_3x3_s2 , num_output = 32 , kernel_size = 3 ) # 32x147x147 conv3_3x3_s1 , conv3_3x3_s1_bn , conv3_3x3_s1_scale , conv3_3x3_s1_relu = factorization_conv_bn_scale_relu ( conv2_3x3_s1 , num_output = 64 , kernel_size = 3 , pad = 1 ) # 64x147x147 pool1_3x3_s2 = L . Pooling ( conv3_3x3_s1 , kernel_size = 3 , stride = 2 , pool = P . Pooling . MAX ) # 64x73x73 conv4_3x3_reduce , conv4_3x3_reduce_bn , conv4_3x3_reduce_scale , conv4_3x3_reduce_relu = factorization_conv_bn_scale_relu ( pool1_3x3_s2 , num_output = 80 , kernel_size = 1 ) # 80x73x73 conv4_3x3 , conv4_3x3_bn , conv4_3x3_scale , conv4_3x3_relu = factorization_conv_bn_scale_relu ( conv4_3x3_reduce , num_output = 192 , kernel_size = 3 ) # 192x71x71 pool2_3x3_s2 = L . Pooling ( conv4_3x3 , kernel_size = 3 , stride = 2 , pool = P . Pooling . MAX ) # 192x35x35 return conv1_3x3_s2 , conv1_3x3_s2_bn , conv1_3x3_s2_scale , conv1_3x3_relu , conv2_3x3_s1 , conv2_3x3_s1_bn , conv2_3x3_s1_scale , conv2_3x3_s1_relu , conv3_3x3_s1 , conv3_3x3_s1_bn , conv3_3x3_s1_scale , conv3_3x3_s1_relu , pool1_3x3_s2 , conv4_3x3_reduce , conv4_3x3_reduce_bn , conv4_3x3_reduce_scale , conv4_3x3_reduce_relu , conv4_3x3 , conv4_3x3_bn , conv4_3x3_scale , conv4_3x3_relu , pool2_3x3_s2