(inputs)
return res
17x17 -> 8x8
17x17 -> 8x8
17x17 - > 8x8
def reduction_b(inputs):
    "17x17 -> 8x8"
    inputs_norm = BNA(inputs)
    pool1 = MaxPooling2D((3,3), strides=(2,2), border_mode='same')(inputs_norm)
    #
    conv2_1 = NConvolution2D(64, 1, 1, subsample=(1,1), border_mode='same')(inputs_norm)
    conv2_2 = Convolution2D(96, 3, 3, subsample=(2,2), border_mode='same')(conv2_1)
    #
    conv3_1 = NConvolution2D(64, 1, 1, subsample=(1,1), border_mode='same')(inputs_norm)
    conv3_2 = Convolution2D(72, 3, 3, subsample=(2,2), border_mode='same')(conv3_1)
    #
    conv4_1 = NConvolution2D(64, 1, 1, subsample=(1,1), border_mode='same')(inputs_norm)
    conv4_2 = NConvolution2D(72, 3, 3, subsample=(1,1), border_mode='same')(conv4_1)
    conv4_3 = Convolution2D(80, 3, 3, subsample=(2,2), border_mode='same')(conv4_2)
    #
    res = merge([pool1, conv2_2, conv3_2, conv4_3], mode='concat', concat_axis=1)
    return res
def reduction_b ( inputs ) : inputs_norm = BNA ( inputs ) pool1 = MaxPooling2D ( ( 3 , 3 ) , strides = ( 2 , 2 ) , border_mode = 'same' ) ( inputs_norm ) # conv2_1 = NConvolution2D ( 64 , 1 , 1 , subsample = ( 1 , 1 ) , border_mode = 'same' ) ( inputs_norm ) conv2_2 = Convolution2D ( 96 , 3 , 3 , subsample = ( 2 , 2 ) , border_mode = 'same' ) ( conv2_1 ) # conv3_1 = NConvolution2D ( 64 , 1 , 1 , subsample = ( 1 , 1 ) , border_mode = 'same' ) ( inputs_norm ) conv3_2 = Convolution2D ( 72 , 3 , 3 , subsample = ( 2 , 2 ) , border_mode = 'same' ) ( conv3_1 ) # conv4_1 = NConvolution2D ( 64 , 1 , 1 , subsample = ( 1 , 1 ) , border_mode = 'same' ) ( inputs_norm ) conv4_2 = NConvolution2D ( 72 , 3 , 3 , subsample = ( 1 , 1 ) , border_mode = 'same' ) ( conv4_1 ) conv4_3 = Convolution2D ( 80 , 3 , 3 , subsample = ( 2 , 2 ) , border_mode = 'same' ) ( conv4_2 ) # res = merge ( [ pool1 , conv2_2 , conv3_2 , conv4_3 ] , mode = 'concat' , concat_axis = 1 ) return res