def get_alex_model(input_shape=(32, 32, 3), classes=10): img_input = Input(input_shape) he_init = he_normal() x = bn_relu_conv(kernel_size=(3, 3), filters=64, kernel_initializer=my_init, strides=(1, 1))(img_input) x = bn_relu_conv(kernel_size=(3, 3), filters=64, kernel_initializer=my_init, strides=(2, 2))(x) x = bn_relu_conv(kernel_size=(3, 3), filters=128, kernel_initializer=my_init, strides=(1, 1))(x) x = bn_relu_conv(kernel_size=(3, 3), filters=128, kernel_initializer=my_init, strides=(2, 2))(x) x = bn_relu_conv(kernel_size=(3, 3), filters=256, kernel_initializer=my_init, strides=(1, 1))(x) x = bn_relu(x) x = Flatten()(x) dense = Dense(units=classes, kernel_initializer="he_normal", activation="softmax")(x) model = Model(inputs=img_input, outputs=dense) return model
def _bottleneck(input, nb_filters, init_subsample=(1, 1)): conv_1_1 = bn_relu_conv(input, nb_filters, 3, 3, W_regularizer=l2(weight_decay), subsample=init_subsample) conv_3_3 = bn_relu_conv(conv_1_1, nb_filters, 3, 3, W_regularizer=l2(weight_decay)) return _shortcut(input, conv_3_3)