【问题标题】:upsampling convolution has no parameters上采样卷积没有参数
【发布时间】:2020-07-27 15:08:39
【问题描述】:

我读过很多论文,其中卷积神经网络用于超分辨率或图像分割或自动编码器等。他们在不同的问题中使用不同类型的上采样(也称为反卷积)和对here 的讨论。 Here 在 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

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

【问题讨论】:

    标签: conv-neural-network tensorflow2.0 keras-layer deconvolution


    【解决方案1】:

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

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

    【讨论】:

    • 我没有被转置和反卷积所迷惑。但是,是的,两者都有可训练的参数,而上采样则没有。我觉得不同的是,如果使用usampling,后面应该有一个卷积层,所以卷积层学习上采样。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2016-11-01
      • 2019-05-06
      • 2022-08-02
      • 2018-09-23
      • 2018-06-27
      • 2019-01-07
      • 1970-01-01
      • 2018-01-23
      • 1970-01-01
      相关资源
      最近更新 更多