def create_model(img_height,img_width,img_channel):
ip = Input(shape=(img_height, img_width,img_channel))
x = Conv2D(64, (9, 9), padding='same', activation='linear', kernel_initializer='glorot_uniform')(ip)
x = BatchNormalization(axis= -1)(x)
x = LeakyReLU(alpha=0.25)(x)
for i in range(5):
x = residual_block(x, 64,3)
x = Conv2D(64, (3, 3), padding='same',kernel_initializer='glorot_uniform')(x)
x = BatchNormalization(axis=-1)(x)
x=Conv2D(64,(3, 3),padding='same',activation='relu')(x)
op=Conv2D(img_channel,(9,9),padding='same',activation='tanh',kernel_initializer='glorot_uniform')(x)
deblocking =Model(inputs=ip,outputs= op)
optimizer = optimizers.Adam(lr=1e-4)
deblocking.compile(optimizer=optimizer,loss='mean_squared_error', metrics=[psnr,ssim])
return deblocking
#plot_model(deblocking, to_file='model.png', show_shapes=True, show_layer_names=True)
评论列表
文章目录