def __initial_conv_block(input, k=1, dropout=0.0, initial=False):
init = input
channel_axis = 1 if K.image_dim_ordering() == 'th' else -1
# Check if input number of filters is same as 16 * k, else create convolution2d for this input
if initial:
if K.image_dim_ordering() == 'th':
init = Conv2D(16 * k, (1, 1), kernel_initializer='he_normal', padding='same')(init)
else:
init = Conv2D(16 * k, (1, 1), kernel_initializer='he_normal', padding='same')(init)
x = BatchNormalization(axis=channel_axis)(input)
x = Activation('relu')(x)
x = Conv2D(16 * k, (3, 3), padding='same', kernel_initializer='he_normal')(x)
if dropout > 0.0:
x = Dropout(dropout)(x)
x = BatchNormalization(axis=channel_axis)(x)
x = Activation('relu')(x)
x = Conv2D(16 * k, (3, 3), padding='same', kernel_initializer='he_normal')(x)
m = add([init, x])
return m
评论列表
文章目录