Python keras.layers.convolutional.Conv2D() Examples
The following are 30
code examples of keras.layers.convolutional.Conv2D().
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: sgan.py From Keras-GAN with MIT License | 8 votes |
def build_generator(self): model = Sequential() model.add(Dense(128 * 7 * 7, activation="relu", input_dim=self.latent_dim)) model.add(Reshape((7, 7, 128))) model.add(BatchNormalization(momentum=0.8)) model.add(UpSampling2D()) model.add(Conv2D(128, kernel_size=3, padding="same")) model.add(Activation("relu")) model.add(BatchNormalization(momentum=0.8)) model.add(UpSampling2D()) model.add(Conv2D(64, kernel_size=3, padding="same")) model.add(Activation("relu")) model.add(BatchNormalization(momentum=0.8)) model.add(Conv2D(1, kernel_size=3, padding="same")) model.add(Activation("tanh")) model.summary() noise = Input(shape=(self.latent_dim,)) img = model(noise) return Model(noise, img)
Example #2
Source File: model.py From Pix2Pix-Keras with MIT License | 7 votes |
def creat_discriminator(self): # layer 0 image_A = Input(shape=self.image_shape) image_B = Input(shape=self.image_shape) combined_images = Concatenate(axis=-1)([image_A, image_B]) # layer 1 d1 = Conv2D(filters=64, kernel_size=4, strides=2, padding='same')(combined_images) d1 = LeakyReLU(alpha=0.2)(d1) # layer 2 d2 = Conv2D(filters=128, kernel_size=4, strides=2, padding='same')(d1) d2 = LeakyReLU(alpha=0.2)(d2) d2 = BatchNormalization(momentum=0.8)(d2) # layer 3 d3 = Conv2D(filters=128, kernel_size=4, strides=2, padding='same')(d2) d3 = LeakyReLU(alpha=0.2)(d3) d3 = BatchNormalization(momentum=0.8)(d3) # layer 4 d4 = Conv2D(filters=128, kernel_size=4, strides=2, padding='same')(d3) d4 = LeakyReLU(alpha=0.2)(d4) d4 = BatchNormalization(momentum=0.8)(d4) validity = Conv2D(1, kernel_size=4, strides=1, padding='same')(d4) return Model([image_A, image_B], validity)
Example #3
Source File: pspnet.py From keras-image-segmentation with MIT License | 7 votes |
def conv_block(input_tensor, filters, strides, d_rates): x = Conv2D(filters[0], kernel_size=1, dilation_rate=d_rates[0])(input_tensor) x = BatchNormalization()(x) x = Activation('relu')(x) x = Conv2D(filters[1], kernel_size=3, strides=strides, padding='same', dilation_rate=d_rates[1])(x) x = BatchNormalization()(x) x = Activation('relu')(x) x = Conv2D(filters[2], kernel_size=1, dilation_rate=d_rates[2])(x) x = BatchNormalization()(x) shortcut = Conv2D(filters[2], kernel_size=1, strides=strides)(input_tensor) shortcut = BatchNormalization()(shortcut) x = add([x, shortcut]) x = Activation('relu')(x) return x
Example #4
Source File: pspnet.py From keras-image-segmentation with MIT License | 7 votes |
def conv_block(input_tensor, filters, strides, d_rates): x = Conv2D(filters[0], kernel_size=1, dilation_rate=d_rates[0])(input_tensor) x = BatchNormalization()(x) x = Activation('relu')(x) x = Conv2D(filters[1], kernel_size=3, strides=strides, padding='same', dilation_rate=d_rates[1])(x) x = BatchNormalization()(x) x = Activation('relu')(x) x = Conv2D(filters[2], kernel_size=1, dilation_rate=d_rates[2])(x) x = BatchNormalization()(x) shortcut = Conv2D(filters[2], kernel_size=1, strides=strides)(input_tensor) shortcut = BatchNormalization()(shortcut) x = add([x, shortcut]) x = Activation('relu')(x) return x
Example #5
Source File: psp_temp.py From keras-image-segmentation with MIT License | 7 votes |
def identity_block(input_tensor, filters, d_rates): x = Conv2D(filters[0], kernel_size=1, dilation_rate=d_rates[0])(input_tensor) x = BatchNormalization()(x) x = Activation('relu')(x) x = Conv2D(filters[1], kernel_size=3, padding='same', dilation_rate=d_rates[1])(x) x = BatchNormalization()(x) x = Activation('relu')(x) x = Conv2D(filters[2], kernel_size=1, dilation_rate=d_rates[2])(x) x = BatchNormalization()(x) x = add([x, input_tensor]) x = Activation('relu')(x) return x
Example #6
Source File: context_encoder.py From Keras-GAN with MIT License | 7 votes |
def build_discriminator(self): model = Sequential() model.add(Conv2D(64, kernel_size=3, strides=2, input_shape=self.missing_shape, padding="same")) model.add(LeakyReLU(alpha=0.2)) model.add(BatchNormalization(momentum=0.8)) model.add(Conv2D(128, kernel_size=3, strides=2, padding="same")) model.add(LeakyReLU(alpha=0.2)) model.add(BatchNormalization(momentum=0.8)) model.add(Conv2D(256, kernel_size=3, padding="same")) model.add(LeakyReLU(alpha=0.2)) model.add(BatchNormalization(momentum=0.8)) model.add(Flatten()) model.add(Dense(1, activation='sigmoid')) model.summary() img = Input(shape=self.missing_shape) validity = model(img) return Model(img, validity)
Example #7
Source File: psp_temp.py From keras-image-segmentation with MIT License | 7 votes |
def conv_block(input_tensor, filters, strides, d_rates): x = Conv2D(filters[0], kernel_size=1, dilation_rate=d_rates[0])(input_tensor) x = BatchNormalization()(x) x = Activation('relu')(x) x = Conv2D(filters[1], kernel_size=3, strides=strides, padding='same', dilation_rate=d_rates[1])(x) x = BatchNormalization()(x) x = Activation('relu')(x) x = Conv2D(filters[2], kernel_size=1, dilation_rate=d_rates[2])(x) x = BatchNormalization()(x) shortcut = Conv2D(filters[2], kernel_size=1, strides=strides)(input_tensor) shortcut = BatchNormalization()(shortcut) x = add([x, shortcut]) x = Activation('relu')(x) return x
Example #8
Source File: densenet.py From Model-Playgrounds with MIT License | 6 votes |
def __transition_up_block(ip, nb_filters, type='deconv', weight_decay=1E-4): ''' SubpixelConvolutional Upscaling (factor = 2) Args: ip: keras tensor nb_filters: number of layers type: can be 'upsampling', 'subpixel', 'deconv'. Determines type of upsampling performed weight_decay: weight decay factor Returns: keras tensor, after applying upsampling operation. ''' if type == 'upsampling': x = UpSampling2D()(ip) elif type == 'subpixel': x = Conv2D(nb_filters, (3, 3), activation='relu', padding='same', kernel_regularizer=l2(weight_decay), use_bias=False, kernel_initializer='he_normal')(ip) x = SubPixelUpscaling(scale_factor=2)(x) x = Conv2D(nb_filters, (3, 3), activation='relu', padding='same', kernel_regularizer=l2(weight_decay), use_bias=False, kernel_initializer='he_normal')(x) else: x = Conv2DTranspose(nb_filters, (3, 3), activation='relu', padding='same', strides=(2, 2), kernel_initializer='he_normal', kernel_regularizer=l2(weight_decay))(ip) return x
Example #9
Source File: densenet.py From Model-Playgrounds with MIT License | 6 votes |
def __transition_block(ip, nb_filter, compression=1.0, weight_decay=1e-4): ''' Apply BatchNorm, Relu 1x1, Conv2D, optional compression, dropout and Maxpooling2D Args: ip: keras tensor nb_filter: number of filters compression: calculated as 1 - reduction. Reduces the number of feature maps in the transition block. 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_data_format() == 'channels_first' else -1 x = BatchNormalization(axis=concat_axis, epsilon=1.1e-5)(ip) x = Activation('relu')(x) x = Conv2D(int(nb_filter * compression), (1, 1), kernel_initializer='he_normal', padding='same', use_bias=False, kernel_regularizer=l2(weight_decay))(x) x = AveragePooling2D((2, 2), strides=(2, 2))(x) return x
Example #10
Source File: play_a3c_model.py From reinforcement-learning with MIT License | 6 votes |
def build_model(self): input = Input(shape=self.state_size) conv = Conv2D(16, (8, 8), strides=(4, 4), activation='relu')(input) conv = Conv2D(32, (4, 4), strides=(2, 2), activation='relu')(conv) conv = Flatten()(conv) fc = Dense(256, activation='relu')(conv) policy = Dense(self.action_size, activation='softmax')(fc) value = Dense(1, activation='linear')(fc) actor = Model(inputs=input, outputs=policy) critic = Model(inputs=input, outputs=value) actor.summary() critic.summary() return actor, critic
Example #11
Source File: pixelda.py From Keras-GAN with MIT License | 6 votes |
def build_classifier(self): def clf_layer(layer_input, filters, f_size=4, normalization=True): """Classifier layer""" d = Conv2D(filters, kernel_size=f_size, strides=2, padding='same')(layer_input) d = LeakyReLU(alpha=0.2)(d) if normalization: d = InstanceNormalization()(d) return d img = Input(shape=self.img_shape) c1 = clf_layer(img, self.cf, normalization=False) c2 = clf_layer(c1, self.cf*2) c3 = clf_layer(c2, self.cf*4) c4 = clf_layer(c3, self.cf*8) c5 = clf_layer(c4, self.cf*8) class_pred = Dense(self.num_classes, activation='softmax')(Flatten()(c5)) return Model(img, class_pred)
Example #12
Source File: ccgan.py From Keras-GAN with MIT License | 6 votes |
def build_discriminator(self): img = Input(shape=self.img_shape) model = Sequential() model.add(Conv2D(64, kernel_size=4, strides=2, padding='same', input_shape=self.img_shape)) model.add(LeakyReLU(alpha=0.8)) model.add(Conv2D(128, kernel_size=4, strides=2, padding='same')) model.add(LeakyReLU(alpha=0.2)) model.add(InstanceNormalization()) model.add(Conv2D(256, kernel_size=4, strides=2, padding='same')) model.add(LeakyReLU(alpha=0.2)) model.add(InstanceNormalization()) model.summary() img = Input(shape=self.img_shape) features = model(img) validity = Conv2D(1, kernel_size=4, strides=1, padding='same')(features) label = Flatten()(features) label = Dense(self.num_classes+1, activation="softmax")(label) return Model(img, [validity, label])
Example #13
Source File: infogan.py From Keras-GAN with MIT License | 6 votes |
def build_generator(self): model = Sequential() model.add(Dense(128 * 7 * 7, activation="relu", input_dim=self.latent_dim)) model.add(Reshape((7, 7, 128))) model.add(BatchNormalization(momentum=0.8)) model.add(UpSampling2D()) model.add(Conv2D(128, kernel_size=3, padding="same")) model.add(Activation("relu")) model.add(BatchNormalization(momentum=0.8)) model.add(UpSampling2D()) model.add(Conv2D(64, kernel_size=3, padding="same")) model.add(Activation("relu")) model.add(BatchNormalization(momentum=0.8)) model.add(Conv2D(self.channels, kernel_size=3, padding='same')) model.add(Activation("tanh")) gen_input = Input(shape=(self.latent_dim,)) img = model(gen_input) model.summary() return Model(gen_input, img)
Example #14
Source File: captcha_gan.py From Intelligent-Projects-Using-Python with MIT License | 6 votes |
def discriminator(img_dim,alpha=0.2): model = Sequential() model.add( Conv2D(64, kernel_size=5,strides=2, padding='same', input_shape=img_dim) ) model.add(LeakyReLU(alpha)) model.add(Conv2D(128,kernel_size=5,strides=2,padding='same')) model.add(BatchNormalization()) model.add(LeakyReLU(alpha)) model.add(Conv2D(256,kernel_size=5,strides=2,padding='same')) model.add(BatchNormalization()) model.add(LeakyReLU(alpha)) model.add(Flatten()) model.add(Dense(1)) model.add(Activation('sigmoid')) return model # Define a combination of Generator and Discriminator
Example #15
Source File: pspnet.py From keras-image-segmentation with MIT License | 6 votes |
def identity_block(input_tensor, filters, d_rates): x = Conv2D(filters[0], kernel_size=1, dilation_rate=d_rates[0])(input_tensor) x = BatchNormalization()(x) x = Activation('relu')(x) x = Conv2D(filters[1], kernel_size=3, padding='same', dilation_rate=d_rates[1])(x) x = BatchNormalization()(x) x = Activation('relu')(x) x = Conv2D(filters[2], kernel_size=1, dilation_rate=d_rates[2])(x) x = BatchNormalization()(x) x = add([x, input_tensor]) x = Activation('relu')(x) return x
Example #16
Source File: wgan.py From Keras-GAN with MIT License | 6 votes |
def build_generator(self): model = Sequential() model.add(Dense(128 * 7 * 7, activation="relu", input_dim=self.latent_dim)) model.add(Reshape((7, 7, 128))) model.add(UpSampling2D()) model.add(Conv2D(128, kernel_size=4, padding="same")) model.add(BatchNormalization(momentum=0.8)) model.add(Activation("relu")) model.add(UpSampling2D()) model.add(Conv2D(64, kernel_size=4, padding="same")) model.add(BatchNormalization(momentum=0.8)) model.add(Activation("relu")) model.add(Conv2D(self.channels, kernel_size=4, padding="same")) model.add(Activation("tanh")) model.summary() noise = Input(shape=(self.latent_dim,)) img = model(noise) return Model(noise, img)
Example #17
Source File: cyclegan.py From Keras-GAN with MIT License | 6 votes |
def build_discriminator(self): def d_layer(layer_input, filters, f_size=4, normalization=True): """Discriminator layer""" d = Conv2D(filters, kernel_size=f_size, strides=2, padding='same')(layer_input) d = LeakyReLU(alpha=0.2)(d) if normalization: d = InstanceNormalization()(d) return d img = Input(shape=self.img_shape) d1 = d_layer(img, self.df, normalization=False) d2 = d_layer(d1, self.df*2) d3 = d_layer(d2, self.df*4) d4 = d_layer(d3, self.df*8) validity = Conv2D(1, kernel_size=4, strides=1, padding='same')(d4) return Model(img, validity)
Example #18
Source File: gc_densenet.py From keras-global-context-networks with MIT License | 6 votes |
def __transition_block(ip, nb_filter, compression=1.0, weight_decay=1e-4): ''' Apply BatchNorm, Relu 1x1, Conv2D, optional compression, dropout and Maxpooling2D Args: ip: keras tensor nb_filter: number of filters compression: calculated as 1 - reduction. Reduces the number of feature maps in the transition block. 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_data_format() == 'channels_first' else -1 x = BatchNormalization(axis=concat_axis, epsilon=1.1e-5)(ip) x = Activation('relu')(x) x = Conv2D(int(nb_filter * compression), (1, 1), kernel_initializer='he_normal', padding='same', use_bias=False, kernel_regularizer=l2(weight_decay))(x) x = AveragePooling2D((2, 2), strides=(2, 2))(x) # global context block x = global_context_block(x) return x
Example #19
Source File: pix2pix.py From Keras-GAN with MIT License | 6 votes |
def build_discriminator(self): def d_layer(layer_input, filters, f_size=4, bn=True): """Discriminator layer""" d = Conv2D(filters, kernel_size=f_size, strides=2, padding='same')(layer_input) d = LeakyReLU(alpha=0.2)(d) if bn: d = BatchNormalization(momentum=0.8)(d) return d img_A = Input(shape=self.img_shape) img_B = Input(shape=self.img_shape) # Concatenate image and conditioning image by channels to produce input combined_imgs = Concatenate(axis=-1)([img_A, img_B]) d1 = d_layer(combined_imgs, self.df, bn=False) d2 = d_layer(d1, self.df*2) d3 = d_layer(d2, self.df*4) d4 = d_layer(d3, self.df*8) validity = Conv2D(1, kernel_size=4, strides=1, padding='same')(d4) return Model([img_A, img_B], validity)
Example #20
Source File: dcgan.py From Keras-GAN with MIT License | 6 votes |
def build_generator(self): model = Sequential() model.add(Dense(128 * 7 * 7, activation="relu", input_dim=self.latent_dim)) model.add(Reshape((7, 7, 128))) model.add(UpSampling2D()) model.add(Conv2D(128, kernel_size=3, padding="same")) model.add(BatchNormalization(momentum=0.8)) model.add(Activation("relu")) model.add(UpSampling2D()) model.add(Conv2D(64, kernel_size=3, padding="same")) model.add(BatchNormalization(momentum=0.8)) model.add(Activation("relu")) model.add(Conv2D(self.channels, kernel_size=3, padding="same")) model.add(Activation("tanh")) model.summary() noise = Input(shape=(self.latent_dim,)) img = model(noise) return Model(noise, img)
Example #21
Source File: model.py From n2n-watermark-remove with MIT License | 6 votes |
def get_unet_model(input_channel_num=3, out_ch=3, start_ch=64, depth=4, inc_rate=2., activation='relu', dropout=0.5, batchnorm=False, maxpool=True, upconv=True, residual=False): def _conv_block(m, dim, acti, bn, res, do=0): n = Conv2D(dim, 3, activation=acti, padding='same')(m) n = BatchNormalization()(n) if bn else n n = Dropout(do)(n) if do else n n = Conv2D(dim, 3, activation=acti, padding='same')(n) n = BatchNormalization()(n) if bn else n return Concatenate()([m, n]) if res else n def _level_block(m, dim, depth, inc, acti, do, bn, mp, up, res): if depth > 0: n = _conv_block(m, dim, acti, bn, res) m = MaxPooling2D()(n) if mp else Conv2D(dim, 3, strides=2, padding='same')(n) m = _level_block(m, int(inc * dim), depth - 1, inc, acti, do, bn, mp, up, res) if up: m = UpSampling2D()(m) m = Conv2D(dim, 2, activation=acti, padding='same')(m) else: m = Conv2DTranspose(dim, 3, strides=2, activation=acti, padding='same')(m) n = Concatenate()([n, m]) m = _conv_block(n, dim, acti, bn, res) else: m = _conv_block(m, dim, acti, bn, res, do) return m i = Input(shape=(None, None, input_channel_num)) o = _level_block(i, start_ch, depth, inc_rate, activation, dropout, batchnorm, maxpool, upconv, residual) o = Conv2D(out_ch, 1)(o) model = Model(inputs=i, outputs=o) return model
Example #22
Source File: play_a3c_model.py From reinforcement-learning-kr with MIT License | 6 votes |
def build_model(self): input = Input(shape=self.state_size) conv = Conv2D(16, (8, 8), strides=(4, 4), activation='relu')(input) conv = Conv2D(32, (4, 4), strides=(2, 2), activation='relu')(conv) conv = Flatten()(conv) fc = Dense(256, activation='relu')(conv) policy = Dense(self.action_size, activation='softmax')(fc) value = Dense(1, activation='linear')(fc) actor = Model(inputs=input, outputs=policy) critic = Model(inputs=input, outputs=value) actor.summary() critic.summary() return actor, critic
Example #23
Source File: breakout_a3c.py From reinforcement-learning-kr with MIT License | 6 votes |
def build_model(self): input = Input(shape=self.state_size) conv = Conv2D(16, (8, 8), strides=(4, 4), activation='relu')(input) conv = Conv2D(32, (4, 4), strides=(2, 2), activation='relu')(conv) conv = Flatten()(conv) fc = Dense(256, activation='relu')(conv) policy = Dense(self.action_size, activation='softmax')(fc) value = Dense(1, activation='linear')(fc) actor = Model(inputs=input, outputs=policy) critic = Model(inputs=input, outputs=value) # 가치와 정책을 예측하는 함수를 만들어냄 actor._make_predict_function() critic._make_predict_function() actor.summary() critic.summary() return actor, critic # 정책신경망을 업데이트하는 함수
Example #24
Source File: breakout_a3c.py From reinforcement-learning-kr with MIT License | 6 votes |
def build_local_model(self): input = Input(shape=self.state_size) conv = Conv2D(16, (8, 8), strides=(4, 4), activation='relu')(input) conv = Conv2D(32, (4, 4), strides=(2, 2), activation='relu')(conv) conv = Flatten()(conv) fc = Dense(256, activation='relu')(conv) policy = Dense(self.action_size, activation='softmax')(fc) value = Dense(1, activation='linear')(fc) local_actor = Model(inputs=input, outputs=policy) local_critic = Model(inputs=input, outputs=value) local_actor._make_predict_function() local_critic._make_predict_function() local_actor.set_weights(self.actor.get_weights()) local_critic.set_weights(self.critic.get_weights()) local_actor.summary() local_critic.summary() return local_actor, local_critic # 로컬신경망을 글로벌신경망으로 업데이트
Example #25
Source File: cnn.py From DeepFashion with Apache License 2.0 | 6 votes |
def model_create(input_shape, num_classes): logging.debug('input_shape {}'.format(input_shape)) model = Sequential() model.add(Conv2D(32, (3, 3), border_mode='same', input_shape=input_shape)) model.add(Activation('relu')) model.add(Conv2D(32, (3, 3))) model.add(Activation('relu')) model.add(MaxPooling2D(pool_size=(2, 2))) model.add(Dropout(0.5)) model.add(Flatten()) model.add(Dense(128)) model.add(Activation('relu')) model.add(Dropout(0.5)) model.add(Dense(num_classes)) model.add(Activation('softmax')) # use binary_crossentropy if has just 2 prediction yes or no model.compile(loss='categorical_crossentropy', optimizer='adadelta', metrics=['accuracy']) return model
Example #26
Source File: model.py From df with Mozilla Public License 2.0 | 6 votes |
def Decoder(name): input_ = Input( shape=(8,8,512) ) skip_in = Input( shape=(8,8,512) ) x = input_ x = upscale(512)(x) x = res_block(x, 512) x = upscale(256)(x) x = res_block(x, 256) x = upscale(128)(x) x = res_block(x, 128) x = upscale(64)(x) x = Conv2D( 3, kernel_size=5, padding='same', activation='sigmoid' )(x) y = input_ y = upscale(512)(y) y = upscale(256)(y) y = upscale(128)(y) y = upscale(64)(y) y = Conv2D( 1, kernel_size=5, padding='same', activation='sigmoid' )(y) return Model( [input_], outputs=[x,y] )
Example #27
Source File: breakout_a3c.py From reinforcement-learning with MIT License | 6 votes |
def build_localmodel(self): input = Input(shape=self.state_size) conv = Conv2D(16, (8, 8), strides=(4, 4), activation='relu')(input) conv = Conv2D(32, (4, 4), strides=(2, 2), activation='relu')(conv) conv = Flatten()(conv) fc = Dense(256, activation='relu')(conv) policy = Dense(self.action_size, activation='softmax')(fc) value = Dense(1, activation='linear')(fc) actor = Model(inputs=input, outputs=policy) critic = Model(inputs=input, outputs=value) actor._make_predict_function() critic._make_predict_function() actor.set_weights(self.actor.get_weights()) critic.set_weights(self.critic.get_weights()) actor.summary() critic.summary() return actor, critic
Example #28
Source File: breakout_a3c.py From reinforcement-learning with MIT License | 6 votes |
def build_model(self): input = Input(shape=self.state_size) conv = Conv2D(16, (8, 8), strides=(4, 4), activation='relu')(input) conv = Conv2D(32, (4, 4), strides=(2, 2), activation='relu')(conv) conv = Flatten()(conv) fc = Dense(256, activation='relu')(conv) policy = Dense(self.action_size, activation='softmax')(fc) value = Dense(1, activation='linear')(fc) actor = Model(inputs=input, outputs=policy) critic = Model(inputs=input, outputs=value) actor._make_predict_function() critic._make_predict_function() actor.summary() critic.summary() return actor, critic # make loss function for Policy Gradient # [log(action probability) * advantages] will be input for the back prop # we add entropy of action probability to loss
Example #29
Source File: densenet.py From semantic-embeddings with MIT License | 6 votes |
def __transition_block(ip, nb_filter, compression=1.0, weight_decay=1e-4): ''' Apply BatchNorm, Relu 1x1, Conv2D, optional compression, dropout and Maxpooling2D Args: ip: keras tensor nb_filter: number of filters compression: calculated as 1 - reduction. Reduces the number of feature maps in the transition block. 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_data_format() == 'channels_first' else -1 x = BatchNormalization(axis=concat_axis, epsilon=1.1e-5)(ip) x = Activation('relu')(x) x = Conv2D(int(nb_filter * compression), (1, 1), kernel_initializer='he_normal', padding='same', use_bias=False, kernel_regularizer=l2(weight_decay))(x) x = AveragePooling2D((2, 2), strides=(2, 2))(x) return x
Example #30
Source File: densenet.py From Model-Playgrounds with MIT License | 5 votes |
def __conv_block(ip, nb_filter, bottleneck=False, dropout_rate=None, weight_decay=1e-4): ''' Apply BatchNorm, Relu, 3x3 Conv2D, optional bottleneck block and dropout Args: ip: Input keras tensor nb_filter: number of filters bottleneck: add bottleneck block dropout_rate: dropout rate weight_decay: weight decay factor Returns: keras tensor with batch_norm, relu and convolution2d added (optional bottleneck) ''' concat_axis = 1 if K.image_data_format() == 'channels_first' else -1 x = BatchNormalization(axis=concat_axis, epsilon=1.1e-5)(ip) x = Activation('relu')(x) if bottleneck: inter_channel = nb_filter * 4 # Obtained from https://github.com/liuzhuang13/DenseNet/blob/master/densenet.lua x = Conv2D(inter_channel, (1, 1), kernel_initializer='he_normal', padding='same', use_bias=False, kernel_regularizer=l2(weight_decay))(x) x = BatchNormalization(axis=concat_axis, epsilon=1.1e-5)(x) x = Activation('relu')(x) x = Conv2D(nb_filter, (3, 3), kernel_initializer='he_normal', padding='same', use_bias=False)(x) if dropout_rate: x = Dropout(dropout_rate)(x) return x