(inputs, k=64, l=64, m=96, n=96)
return res
35x35 -> 17x17
35x35 -> 17x17
35x35 - > 17x17
def reduction_a(inputs, k=64, l=64, m=96, n=96):
    "35x35 -> 17x17"
    inputs_norm = BNA(inputs)
    pool1 = MaxPooling2D((3,3), strides=(2,2), border_mode='same')(inputs_norm)
    
    conv2 = Convolution2D(n, 3, 3, subsample=(2,2), border_mode='same')(inputs_norm)
    
    conv3_1 = NConvolution2D(k, 1, 1, subsample=(1,1), border_mode='same')(inputs_norm)
    conv3_2 = NConvolution2D(l, 3, 3, subsample=(1,1), border_mode='same')(conv3_1)
    conv3_2 = Convolution2D(m, 3, 3, subsample=(2,2), border_mode='same')(conv3_2)
    
    res = merge([pool1, conv2, conv3_2], mode='concat', concat_axis=1)
    return res
def reduction_a ( inputs , k = 64 , l = 64 , m = 96 , n = 96 ) : inputs_norm = BNA ( inputs ) pool1 = MaxPooling2D ( ( 3 , 3 ) , strides = ( 2 , 2 ) , border_mode = 'same' ) ( inputs_norm ) conv2 = Convolution2D ( n , 3 , 3 , subsample = ( 2 , 2 ) , border_mode = 'same' ) ( inputs_norm ) conv3_1 = NConvolution2D ( k , 1 , 1 , subsample = ( 1 , 1 ) , border_mode = 'same' ) ( inputs_norm ) conv3_2 = NConvolution2D ( l , 3 , 3 , subsample = ( 1 , 1 ) , border_mode = 'same' ) ( conv3_1 ) conv3_2 = Convolution2D ( m , 3 , 3 , subsample = ( 2 , 2 ) , border_mode = 'same' ) ( conv3_2 ) res = merge ( [ pool1 , conv2 , conv3_2 ] , mode = 'concat' , concat_axis = 1 ) return res