上采样卷积没有参数

upsampling convolution has no parameters

我读过很多论文,其中卷积神经元网络用于超分辨率或图像分割或自动编码器等。他们使用不同类型的上采样,也就是反卷积,并在不同的问题中讨论了 hereHere Tensorflow 中有一个函数 Here 在 Keras 中有一些

我实现了 Keras:

 x = tf.keras.layers.UpSampling1D(size=2)(x)

我使用了从超分辨率存储库中偷来的这个 here:

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

但我意识到我的模型摘要中都没有参数。这些函数不需要参数就可以学习上采样吗??

在 Keras 上采样中,只需将您的输入复制到提供的大小。你可以找到文档here,所以这些层不需要参数。

我认为您混淆了上采样与转置卷积/反卷积。

在 UpSampling1D 中,如果您查看 github 上的实际源代码,所涉及的上采样要么是最近邻,要么是双线性。并且这两种插值方案都没有学习参数,例如任何权重或偏差,除非并且直到它们后面跟着一个卷积层。 由于在 Subpixel1D 中也没有使用卷积层或可学习层,因此没有训练参数