Я читал много статей, в которых сверточные нейронные сети используются для сверхразрешения, сегментации изображений или автоматического кодирования и так далее. Они используют различные виды апсэмплинга, или деконволюции, и обсуждение более здесь в другом вопросе. Здесь в Tensorflow есть функция Здесь в Keras есть некоторые
Я реализовал Keras one:
x = tf.keras.layers.UpSampling1D(size=2)(x)
и я использовал это один украден из репо с супер-разрешением здесь :
class SubPixel1D(tf.keras.layers.Layer):
def __init__(self, r):
super(SubPixel1D, self).__init__()
self.r = r
def call(self, inputs):
with tf.name_scope('subpixel'):
X = tf.transpose(inputs, [2,1,0]) # (r, w, b)
X = tf.compat.v1.batch_to_space_nd(X, [self.r], [[0,0]]) # (1, r*w, b)
X = tf.transpose(X, [2,1,0])
return X
Но я понял, что у обоих нет параметров в сводке моей модели. Разве это не обязательно для этих функций, чтобы иметь параметры, чтобы они могли учиться повышающей дискретизации ??