def res_block(input_tensor, nb_filters=16, block=0, subsample_factor=1):
subsample = (subsample_factor, subsample_factor)
x = BatchNormalization(axis=3)(input_tensor)
x = Activation('relu')(x)
x = Convolution2D(nb_filters, 3, 3, subsample=subsample, border_mode='same')(x)
x = BatchNormalization(axis=3)(x)
x = Activation('relu')(x)
x = Convolution2D(nb_filters, 3, 3, subsample=(1, 1), border_mode='same')(x)
if subsample_factor > 1:
shortcut = Convolution2D(nb_filters, 1, 1, subsample=subsample, border_mode='same')(input_tensor)
else:
shortcut = input_tensor
x = merge([x, shortcut], mode='sum')
return x
评论列表
文章目录