def espcn(x, f=[5, 3, 3], n=[64, 32], scale=3):
"""Build an ESPCN model.
See https://arxiv.org/abs/1609.05158
"""
assert len(f) == len(n) + 1
model = Sequential()
model.add(InputLayer(input_shape=x.shape[1:]))
c = x.shape[-1]
for ni, fi in zip(n, f):
model.add(Conv2D(ni, fi, padding='same',
kernel_initializer='he_normal', activation='tanh'))
model.add(Conv2D(c * scale ** 2, f[-1], padding='same',
kernel_initializer='he_normal'))
model.add(Conv2DSubPixel(scale))
return model
评论列表
文章目录