in ar-cnn/model.py [0:0]
def down_sampling(self,
layer_input,
num_filters,
batch_normalization=False,
dropout_rate=0):
'''
:param: layer_input: Input Layer to the downsampling block
:param: num_filters: Number of filters
:param: batch_normalization: Flag to check if batch normalization to be performed
:param: dropout_rate: To regularize overfitting
'''
encoder = layer_input
for _ in range(self.CONV_PER_LAYER):
encoder = Conv2D(num_filters, (3, 3),
activation='relu',
padding='same')(encoder)
pooling_layer = MaxPooling2D(pool_size=(2, 2))(encoder)
if dropout_rate:
pooling_layer = Dropout(dropout_rate)(pooling_layer)
if batch_normalization:
pooling_layer = BatchNormalization()(pooling_layer)
return encoder, pooling_layer