свертка с повышением частоты не имеет параметров - PullRequest
0 голосов
/ 14 апреля 2020

Я читал много статей, в которых сверточные нейронные сети используются для сверхразрешения, сегментации изображений или автоматического кодирования и так далее. Они используют различные виды апсэмплинга, или деконволюции, и обсуждение более здесь в другом вопросе. Здесь в 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

Но я понял, что у обоих нет параметров в сводке моей модели. Разве это не обязательно для этих функций, чтобы иметь параметры, чтобы они могли учиться повышающей дискретизации ??

1 Ответ

1 голос
/ 15 апреля 2020

В Keras Upsampling просто копирует ваш ввод в предоставленный размер. вы можете найти документацию здесь , поэтому нет необходимости иметь параметры для этих слоев.

Я думаю, что вы перепутали повышающую дискретизацию с Transposed Convolution / Deconvolution.

...