Python keras.layers.convolutional.Convolution2D() Examples
The following are 30
code examples of keras.layers.convolutional.Convolution2D().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
keras.layers.convolutional
, or try the search function
.
Example #1
Source File: example.py From residual_block_keras with GNU General Public License v3.0 | 7 votes |
def get_residual_model(is_mnist=True, img_channels=1, img_rows=28, img_cols=28): model = keras.models.Sequential() first_layer_channel = 128 if is_mnist: # size to be changed to 32,32 model.add(ZeroPadding2D((2,2), input_shape=(img_channels, img_rows, img_cols))) # resize (28,28)-->(32,32) # the first conv model.add(Convolution2D(first_layer_channel, 3, 3, border_mode='same')) else: model.add(Convolution2D(first_layer_channel, 3, 3, border_mode='same', input_shape=(img_channels, img_rows, img_cols))) model.add(Activation('relu')) # [residual-based Conv layers] residual_blocks = design_for_residual_blocks(num_channel_input=first_layer_channel) model.add(residual_blocks) model.add(BatchNormalization(axis=1)) model.add(Activation('relu')) # [Classifier] model.add(Flatten()) model.add(Dense(nb_classes)) model.add(Activation('softmax')) # [END] return model
Example #2
Source File: wide_residual_network.py From semantic-embeddings with MIT License | 6 votes |
def expand_conv(init, base, k, strides=(1, 1)): x = Convolution2D(base * k, (3, 3), padding='same', strides=strides, kernel_initializer='he_normal', use_bias=False)(init) channel_axis = 1 if K.image_data_format() == "channels_first" else -1 x = BatchNormalization(axis=channel_axis, momentum=0.1, epsilon=1e-5, gamma_initializer='uniform')(x) x = Activation('relu')(x) x = Convolution2D(base * k, (3, 3), padding='same', kernel_initializer='he_normal', use_bias=False)(x) skip = Convolution2D(base * k, (1, 1), padding='same', strides=strides, kernel_initializer='he_normal', use_bias=False)(init) m = Add()([x, skip]) return m
Example #3
Source File: dcgan_mnist.py From keras-examples with MIT License | 6 votes |
def discriminator_model(): model = Sequential() # Poolingの代わりにsubsample使う(出力のサイズ半分) model.add(Convolution2D(64, 5, 5, subsample=(2, 2), border_mode='same', input_shape=(28, 28, 1))) # tfモードはチャネルは後! model.add(LeakyReLU(0.2)) model.add(Convolution2D(128, 5, 5, subsample=(2, 2))) model.add(LeakyReLU(0.2)) model.add(Flatten()) model.add(Dense(256)) model.add(LeakyReLU(0.2)) model.add(Dropout(0.5)) model.add(Dense(1)) model.add(Activation('sigmoid')) return model
Example #4
Source File: discriminator.py From Generative-Adversarial-Networks-Cookbook with MIT License | 6 votes |
def model(self): input_layer = Input(self.SHAPE) up_layer_1 = Convolution2D(64, kernel_size=4, strides=2, padding='same',activation=LeakyReLU(alpha=0.2))(input_layer) up_layer_2 = Convolution2D(64*2, kernel_size=4, strides=2, padding='same',activation=LeakyReLU(alpha=0.2))(up_layer_1) norm_layer_1 = InstanceNormalization()(up_layer_2) up_layer_3 = Convolution2D(64*4, kernel_size=4, strides=2, padding='same',activation=LeakyReLU(alpha=0.2))(norm_layer_1) norm_layer_2 = InstanceNormalization()(up_layer_3) up_layer_4 = Convolution2D(64*8, kernel_size=4, strides=2, padding='same',activation=LeakyReLU(alpha=0.2))(norm_layer_2) norm_layer_3 =InstanceNormalization()(up_layer_4) output_layer = Convolution2D(1, kernel_size=4, strides=1, padding='same')(norm_layer_3) output_layer_1 = Flatten()(output_layer) output_layer_2 = Dense(1, activation='sigmoid')(output_layer_1) return Model(input_layer,output_layer_2)
Example #5
Source File: discriminator.py From Generative-Adversarial-Networks-Cookbook with MIT License | 6 votes |
def model(self): input_A = Input(shape=self.SHAPE) input_B = Input(shape=self.SHAPE) input_layer = Concatenate(axis=-1)([input_A, input_B]) up_layer_1 = Convolution2D(self.FS, kernel_size=4, strides=2, padding='same',activation=LeakyReLU(alpha=0.2))(input_layer) up_layer_2 = Convolution2D(self.FS*2, kernel_size=4, strides=2, padding='same',activation=LeakyReLU(alpha=0.2))(up_layer_1) leaky_layer_2 = BatchNormalization(momentum=0.8)(up_layer_2) up_layer_3 = Convolution2D(self.FS*4, kernel_size=4, strides=2, padding='same',activation=LeakyReLU(alpha=0.2))(leaky_layer_2) leaky_layer_3 = BatchNormalization(momentum=0.8)(up_layer_3) up_layer_4 = Convolution2D(self.FS*8, kernel_size=4, strides=2, padding='same',activation=LeakyReLU(alpha=0.2))(leaky_layer_3) leaky_layer_4 = BatchNormalization(momentum=0.8)(up_layer_4) output_layer = Convolution2D(1, kernel_size=4, strides=1, padding='same')(leaky_layer_4) return Model([input_A, input_B],output_layer)
Example #6
Source File: Densenet.py From CNNArt with Apache License 2.0 | 6 votes |
def transition(x, nb_filter, dropout_rate=None, weight_decay=1E-4): """Apply BatchNorm, Relu 1x1Conv2D, optional dropout and Maxpooling2D :param x: keras model :param nb_filter: int -- number of filters :param dropout_rate: int -- dropout rate :param weight_decay: int -- weight decay factor :returns: model :rtype: keras model, after applying batch_norm, relu-conv, dropout, maxpool """ x = Activation('relu')(x) x = Convolution2D(nb_filter, 1, 1, init="he_uniform", border_mode="same", bias=False, W_regularizer=l2(weight_decay))(x) if dropout_rate: x = Dropout(dropout_rate)(x) x = AveragePooling2D((2, 2), strides=(2, 2))(x) return x
Example #7
Source File: train_network.py From A3C_Keras_FlappyBird with MIT License | 6 votes |
def buildmodel(): print("Model building begins") model = Sequential() keras.initializers.RandomUniform(minval=-0.1, maxval=0.1, seed=None) S = Input(shape = (IMAGE_ROWS, IMAGE_COLS, IMAGE_CHANNELS, ), name = 'Input') h0 = Convolution2D(16, kernel_size = (8,8), strides = (4,4), activation = 'relu', kernel_initializer = 'random_uniform', bias_initializer = 'random_uniform')(S) h1 = Convolution2D(32, kernel_size = (4,4), strides = (2,2), activation = 'relu', kernel_initializer = 'random_uniform', bias_initializer = 'random_uniform')(h0) h2 = Flatten()(h1) h3 = Dense(256, activation = 'relu', kernel_initializer = 'random_uniform', bias_initializer = 'random_uniform') (h2) P = Dense(1, name = 'o_P', activation = 'sigmoid', kernel_initializer = 'random_uniform', bias_initializer = 'random_uniform') (h3) V = Dense(1, name = 'o_V', kernel_initializer = 'random_uniform', bias_initializer = 'random_uniform') (h3) model = Model(inputs = S, outputs = [P,V]) rms = RMSprop(lr = LEARNING_RATE, rho = 0.99, epsilon = 0.1) model.compile(loss = {'o_P': logloss, 'o_V': sumofsquares}, loss_weights = {'o_P': 1., 'o_V' : 0.5}, optimizer = rms) return model #function to preprocess an image before giving as input to the neural network
Example #8
Source File: train_steering_model.py From research with BSD 3-Clause "New" or "Revised" License | 6 votes |
def get_model(time_len=1): ch, row, col = 3, 160, 320 # camera format model = Sequential() model.add(Lambda(lambda x: x/127.5 - 1., input_shape=(ch, row, col), output_shape=(ch, row, col))) model.add(Convolution2D(16, 8, 8, subsample=(4, 4), border_mode="same")) model.add(ELU()) model.add(Convolution2D(32, 5, 5, subsample=(2, 2), border_mode="same")) model.add(ELU()) model.add(Convolution2D(64, 5, 5, subsample=(2, 2), border_mode="same")) model.add(Flatten()) model.add(Dropout(.2)) model.add(ELU()) model.add(Dense(512)) model.add(Dropout(.5)) model.add(ELU()) model.add(Dense(1)) model.compile(optimizer="adam", loss="mse") return model
Example #9
Source File: resnet.py From convnet-study with MIT License | 6 votes |
def two_conv_layer(x, nb_channels, kernel_size=3, stride=1, l2_reg=1e-4, first=False): if first: # Skip BN-Relu out = x else: out = BatchNormalization()(x) out = Activation('relu')(out) out = Convolution2D(nb_channels, kernel_size, kernel_size, subsample=(stride, stride), border_mode='same', init='he_normal', W_regularizer=l2(l2_reg), bias=False)(out) out = BatchNormalization()(out) out = Activation('relu')(out) out = Convolution2D(nb_channels, kernel_size, kernel_size, border_mode='same', init='he_normal', W_regularizer=l2(l2_reg), bias=False)(out) return out
Example #10
Source File: test_tasks.py From CAPTCHA-breaking with MIT License | 6 votes |
def test_img_clf(self): print('image classification data:') (X_train, y_train), (X_test, y_test) = get_test_data(nb_train=1000, nb_test=200, input_shape=(3, 32, 32), classification=True, nb_class=2) print('X_train:', X_train.shape) print('X_test:', X_test.shape) print('y_train:', y_train.shape) print('y_test:', y_test.shape) y_train = to_categorical(y_train) y_test = to_categorical(y_test) model = Sequential() model.add(Convolution2D(32, 3, 32, 32)) model.add(Activation('sigmoid')) model.add(Flatten()) model.add(Dense(32, y_test.shape[-1])) model.add(Activation('softmax')) model.compile(loss='categorical_crossentropy', optimizer='sgd') history = model.fit(X_train, y_train, nb_epoch=12, batch_size=16, validation_data=(X_test, y_test), show_accuracy=True, verbose=2) self.assertTrue(history.history['val_acc'][-1] > 0.9)
Example #11
Source File: resnet.py From convnet-study with MIT License | 6 votes |
def downsample_block(x, nb_channels, kernel_size=3, bottleneck=True, l2_reg=1e-4): if bottleneck: out = bottleneck_layer(x, nb_channels, kernel_size=kernel_size, stride=2, l2_reg=l2_reg) # The output channels is 4x bigger on this case nb_channels = nb_channels * 4 else: out = two_conv_layer(x, nb_channels, kernel_size=kernel_size, stride=2, l2_reg=l2_reg) # Projection on the shortcut proj = Convolution2D(nb_channels, 1, 1, subsample=(2, 2), border_mode='valid', init='he_normal', W_regularizer=l2(l2_reg), bias=False)(x) # proj = AveragePooling2D((1, 1), (2, 2))(x) out = merge([proj, out], mode='sum') return out
Example #12
Source File: resnet.py From convnet-study with MIT License | 6 votes |
def resnet_model(nb_blocks, bottleneck=True, l2_reg=1e-4): nb_channels = [16, 32, 64] inputs = Input((32, 32, 3)) x = Convolution2D(16, 3, 3, border_mode='same', init='he_normal', W_regularizer=l2(l2_reg), bias=False)(inputs) x = BatchNormalization()(x) x = Activation('relu')(x) for n, f in zip(nb_channels, [True, False, False]): x = block_stack(x, n, nb_blocks, bottleneck=bottleneck, l2_reg=l2_reg, first=f) # Last BN-Relu x = BatchNormalization()(x) x = Activation('relu')(x) x = GlobalAveragePooling2D()(x) x = Dense(10)(x) x = Activation('softmax')(x) model = Model(input=inputs, output=x) return model
Example #13
Source File: dcgan_mnist.py From keras-examples with MIT License | 6 votes |
def generator_model(): model = Sequential() model.add(Dense(input_dim=100, output_dim=1024)) model.add(BatchNormalization()) model.add(Activation('relu')) model.add(Dense(7 * 7 * 128)) model.add(BatchNormalization()) model.add(Activation('relu')) # tfモードの場合はチャネルは後! model.add(Reshape((7, 7, 128), input_shape=(7 * 7 * 128,))) model.add(UpSampling2D((2, 2))) # 画像のサイズが2倍になる 14x14 model.add(Convolution2D(64, 5, 5, border_mode='same')) model.add(Activation('tanh')) model.add(UpSampling2D(size=(2, 2))) # 28x28 model.add(Convolution2D(1, 5, 5, border_mode='same')) # 28x28x1が出力 model.add(Activation('tanh')) return model
Example #14
Source File: example_support.py From PyGame-Learning-Environment with MIT License | 6 votes |
def build_model(self): model = Sequential() model.add(Convolution2D( 16, 8, 8, input_shape=(self.num_frames,) + self.frame_dim, subsample=(4, 4), activation="relu", init="he_uniform" )) model.add(Convolution2D( 16, 4, 4, subsample=(2, 2), activation="relu", init="he_uniform" )) model.add(Convolution2D( 32, 3, 3, subsample=(1, 1), activation="relu", init="he_uniform" )) model.add(Flatten()) model.add(Dense( 512, activation="relu", init="he_uniform" )) model.add(Dense( self.num_actions, activation="linear", init="he_uniform" )) model.compile(loss=self.q_loss, optimizer=self.optimizer) self.model = model
Example #15
Source File: densenet_fast.py From semantic-embeddings with MIT License | 6 votes |
def transition_block(ip, nb_filter, dropout_rate=None, weight_decay=1E-4): ''' Apply BatchNorm, Relu 1x1, Conv2D, optional dropout and Maxpooling2D Args: ip: keras tensor nb_filter: number of filters dropout_rate: dropout rate weight_decay: weight decay factor Returns: keras tensor, after applying batch_norm, relu-conv, dropout, maxpool ''' concat_axis = 1 if K.image_dim_ordering() == "th" else -1 x = Convolution2D(nb_filter, 1, 1, init="he_uniform", border_mode="same", bias=False, W_regularizer=l2(weight_decay))(ip) if dropout_rate: x = Dropout(dropout_rate)(x) x = AveragePooling2D((2, 2), strides=(2, 2))(x) x = BatchNormalization(mode=0, axis=concat_axis, gamma_regularizer=l2(weight_decay), beta_regularizer=l2(weight_decay))(x) return x
Example #16
Source File: Densenet.py From CNNArt with Apache License 2.0 | 6 votes |
def conv_factory(x, nb_filter, dropout_rate=None, weight_decay=1E-4): """Apply BatchNorm, Relu 3x3Conv2D, optional dropout :param x: Input keras network :param nb_filter: int -- number of filters :param dropout_rate: int -- dropout rate :param weight_decay: int -- weight decay factor :returns: keras network with b_norm, relu and convolution2d added :rtype: keras network """ x = Activation('relu')(x) x = Convolution2D(nb_filter, 3, 3, init="he_uniform", border_mode="same", bias=False, W_regularizer=l2(weight_decay))(x) if dropout_rate: x = Dropout(dropout_rate)(x) return x
Example #17
Source File: densenet_fast.py From semantic-embeddings with MIT License | 6 votes |
def conv_block(ip, nb_filter, dropout_rate=None, weight_decay=1E-4): ''' Apply BatchNorm, Relu 3x3, Conv2D, optional dropout Args: ip: Input keras tensor nb_filter: number of filters dropout_rate: dropout rate weight_decay: weight decay factor Returns: keras tensor with batch_norm, relu and convolution2d added ''' x = Activation('relu')(ip) x = Convolution2D(nb_filter, 3, 3, init="he_uniform", border_mode="same", bias=False, W_regularizer=l2(weight_decay))(x) if dropout_rate: x = Dropout(dropout_rate)(x) return x
Example #18
Source File: inception_v4.py From cnn_evaluation_smoke with GNU General Public License v3.0 | 6 votes |
def conv2d_bn(x, nb_filter, nb_row, nb_col, border_mode='same', subsample=(1, 1), bias=False): """ Utility function to apply conv + BN. (Slightly modified from https://github.com/fchollet/keras/blob/master/keras/applications/inception_v3.py) """ if K.image_dim_ordering() == "th": channel_axis = 1 else: channel_axis = -1 x = Convolution2D(nb_filter, nb_row, nb_col, subsample=subsample, border_mode=border_mode, bias=bias)(x) x = BatchNormalization(axis=channel_axis)(x) x = Activation('relu')(x) return x
Example #19
Source File: DenseNet.py From DenseNet-Cifar10 with MIT License | 6 votes |
def conv_block(input, nb_filter, dropout_rate=None, weight_decay=1E-4): ''' Apply BatchNorm, Relu 3x3, Conv2D, optional dropout Args: input: Input keras tensor nb_filter: number of filters dropout_rate: dropout rate weight_decay: weight decay factor Returns: keras tensor with batch_norm, relu and convolution2d added ''' x = Activation('relu')(input) x = Convolution2D(nb_filter, (3, 3), kernel_initializer="he_uniform", padding="same", use_bias=False, kernel_regularizer=l2(weight_decay))(x) if dropout_rate is not None: x = Dropout(dropout_rate)(x) return x
Example #20
Source File: DenseNet.py From DenseNet-Cifar10 with MIT License | 6 votes |
def transition_block(input, nb_filter, dropout_rate=None, weight_decay=1E-4): ''' Apply BatchNorm, Relu 1x1, Conv2D, optional dropout and Maxpooling2D Args: input: keras tensor nb_filter: number of filters dropout_rate: dropout rate weight_decay: weight decay factor Returns: keras tensor, after applying batch_norm, relu-conv, dropout, maxpool ''' concat_axis = 1 if K.image_dim_ordering() == "th" else -1 x = Convolution2D(nb_filter, (1, 1), kernel_initializer="he_uniform", padding="same", use_bias=False, kernel_regularizer=l2(weight_decay))(input) if dropout_rate is not None: x = Dropout(dropout_rate)(x) x = AveragePooling2D((2, 2), strides=(2, 2))(x) x = BatchNormalization(axis=concat_axis, gamma_regularizer=l2(weight_decay), beta_regularizer=l2(weight_decay))(x) return x
Example #21
Source File: Densenet.py From CNNArt with Apache License 2.0 | 6 votes |
def transition(x, nb_filter, dropout_rate=None, weight_decay=1E-4): """Apply BatchNorm, Relu 1x1Conv2D, optional dropout and Maxpooling2D :param x: keras model :param nb_filter: int -- number of filters :param dropout_rate: int -- dropout rate :param weight_decay: int -- weight decay factor :returns: model :rtype: keras model, after applying batch_norm, relu-conv, dropout, maxpool """ x = Activation('relu')(x) x = Convolution2D(nb_filter, 1, 1, init="he_uniform", border_mode="same", bias=False, W_regularizer=l2(weight_decay))(x) if dropout_rate: x = Dropout(dropout_rate)(x) x = AveragePooling2D((2, 2), strides=(2, 2))(x) return x
Example #22
Source File: train_and_save.py From MNIST-cnn with MIT License | 6 votes |
def cnn(trn_set, tst_set): trn_x, trn_y = trn_set trn_y = np.squeeze(trn_y, axis=2) tst_x, tst_y = tst_set tst_y = np.squeeze(tst_y, axis=2) model = Sequential() model.add(Convolution2D(2, 5, 5, activation='sigmoid', input_shape=(1, 28, 28))) model.add(MaxPooling2D(pool_size=(3, 3))) model.add(Flatten()) model.add(Dense(10, activation='softmax')) model.compile(loss='categorical_crossentropy', optimizer=SGD(lr=0.1)) return model, trn_x, trn_y, tst_x, tst_y ################################################################################
Example #23
Source File: Densenet.py From CNNArt with Apache License 2.0 | 6 votes |
def conv_factory(x, nb_filter, dropout_rate=None, weight_decay=1E-4): """Apply BatchNorm, Relu 3x3Conv2D, optional dropout :param x: Input keras network :param nb_filter: int -- number of filters :param dropout_rate: int -- dropout rate :param weight_decay: int -- weight decay factor :returns: keras network with b_norm, relu and convolution2d added :rtype: keras network """ x = Activation('relu')(x) x = Convolution2D(nb_filter, 3, 3, init="he_uniform", border_mode="same", bias=False, W_regularizer=l2(weight_decay))(x) if dropout_rate: x = Dropout(dropout_rate)(x) return x
Example #24
Source File: wrn_renorm.py From BatchRenormalization with MIT License | 6 votes |
def conv3_block(input, k=1, dropout=0.0): init = input channel_axis = 1 if K.image_dim_ordering() == "th" else -1 x = BatchRenormalization(axis=channel_axis, momentum=0.1, epsilon=1e-5, gamma_init='uniform')(input) x = Activation('relu')(x) x = Convolution2D(64 * k, (3, 3), padding='same', kernel_initializer='he_normal', use_bias=False)(x) if dropout > 0.0: x = Dropout(dropout)(x) x = BatchRenormalization(axis=channel_axis, momentum=0.1, epsilon=1e-5, gamma_init='uniform')(x) x = Activation('relu')(x) x = Convolution2D(64 * k, (3, 3), padding='same', kernel_initializer='he_normal', use_bias=False)(x) m = Add()([init, x]) return m
Example #25
Source File: cnn_mnist.py From deep_learning_ex with MIT License | 6 votes |
def init_model(): """ """ start_time = time.time() print 'Compiling model...' model = Sequential() model.add(Convolution2D(64, 3,3, border_mode='valid', input_shape=INPUT_SHAPE)) model.add(Activation('relu')) model.add(MaxPooling2D(pool_size=(2,2))) model.add(Dropout(.25)) model.add(Flatten()) model.add(Dense(10)) model.add(Activation('softmax')) rms = RMSprop() model.compile(loss='categorical_crossentropy', optimizer=rms, metrics=['accuracy']) print 'Model compiled in {0} seconds'.format(time.time() - start_time) model.summary() return model
Example #26
Source File: wrn_renorm.py From BatchRenormalization with MIT License | 6 votes |
def conv2_block(input, k=1, dropout=0.0): init = input channel_axis = 1 if K.image_dim_ordering() == "th" else -1 x = BatchRenormalization(axis=channel_axis, momentum=0.1, epsilon=1e-5, gamma_init='uniform')(input) x = Activation('relu')(x) x = Convolution2D(32 * k, (3, 3), padding='same', kernel_initializer='he_normal', use_bias=False)(x) if dropout > 0.0: x = Dropout(dropout)(x) x = BatchRenormalization(axis=channel_axis, momentum=0.1, epsilon=1e-5, gamma_init='uniform')(x) x = Activation('relu')(x) x = Convolution2D(32 * k, (3, 3), padding='same', kernel_initializer='he_normal', use_bias=False)(x) m = Add()([init, x]) return m
Example #27
Source File: wrn_renorm.py From BatchRenormalization with MIT License | 6 votes |
def conv1_block(input, k=1, dropout=0.0): init = input channel_axis = 1 if K.image_data_format() == "channels_first" else -1 x = BatchRenormalization(axis=channel_axis, momentum=0.1, epsilon=1e-5, gamma_init='uniform')(input) x = Activation('relu')(x) x = Convolution2D(16 * k, (3, 3), padding='same', kernel_initializer='he_normal', use_bias=False)(x) if dropout > 0.0: x = Dropout(dropout)(x) x = BatchRenormalization(axis=channel_axis, momentum=0.1, epsilon=1e-5, gamma_init='uniform')(x) x = Activation('relu')(x) x = Convolution2D(16 * k, (3, 3), padding='same', kernel_initializer='he_normal', use_bias=False)(x) m = Add()([init, x]) return m
Example #28
Source File: localizer.py From cnn-levelset with MIT License | 6 votes |
def __init__(self, model_path=None): if model_path is not None: self.model = self.load_model(model_path) else: # VGG16 last conv features inputs = Input(shape=(7, 7, 512)) x = Convolution2D(128, 1, 1)(inputs) x = Flatten()(x) # Cls head h_cls = Dense(256, activation='relu', W_regularizer=l2(l=0.01))(x) h_cls = Dropout(p=0.5)(h_cls) cls_head = Dense(20, activation='softmax', name='cls')(h_cls) # Reg head h_reg = Dense(256, activation='relu', W_regularizer=l2(l=0.01))(x) h_reg = Dropout(p=0.5)(h_reg) reg_head = Dense(4, activation='linear', name='reg')(h_reg) # Joint model self.model = Model(input=inputs, output=[cls_head, reg_head])
Example #29
Source File: inception_v4.py From FashionAI_Tianchi_2018 with MIT License | 6 votes |
def conv2d_bn(x, nb_filter, num_row, num_col, padding='same', strides=(1, 1), use_bias=False): """ Utility function to apply conv + BN. (Slightly modified from https://github.com/fchollet/keras/blob/master/keras/applications/inception_v3.py) """ if K.image_data_format() == 'channels_first': channel_axis = 1 else: channel_axis = -1 x = Convolution2D(nb_filter, (num_row, num_col), strides=strides, padding=padding, use_bias=use_bias, kernel_regularizer=regularizers.l2(0.00004), kernel_initializer=initializers.VarianceScaling(scale=2.0, mode='fan_in', distribution='normal', seed=None))(x) x = BatchNormalization(axis=channel_axis, momentum=0.9997, scale=False)(x) x = Activation('relu')(x) return x
Example #30
Source File: wrn_renorm.py From BatchRenormalization with MIT License | 6 votes |
def expand_conv(init, base, k, strides=(1, 1)): x = Convolution2D(base * k, (3, 3), padding='same', strides=strides, kernel_initializer='he_normal', use_bias=False)(init) channel_axis = 1 if K.image_data_format() == "channels_first" else -1 x = BatchRenormalization(axis=channel_axis, momentum=0.1, epsilon=1e-5, gamma_init='uniform')(x) x = Activation('relu')(x) x = Convolution2D(base * k, (3, 3), padding='same', kernel_initializer='he_normal', use_bias=False)(x) skip = Convolution2D(base * k, (1, 1), padding='same', strides=strides, kernel_initializer='he_normal', use_bias=False)(init) m = Add()([x, skip]) return m