我可以简单地用tf.layer.max_pooling替换tf.nn.conv2d图层吗?

时间:2017-11-02 14:31:29

标签: tensorflow-gpu

我想知道,与汇集相比,跨越有多好。

我目前的代码如下所示

w = tf.get_variable('w', [k_h, k_w, output_shape[-1], input_.get_shape()[-1]],
          initializer=tf.random_normal_initializer(stddev=stddev))
deconv = tf.nn.conv2d_transpose(input_, w, output_shape=output_shape, strides=[1, d_h, d_w, 1])

下面的代码或多或少会与上面的代码相同吗?

tf.layers.max_pooling2d(input_, pooling=2, strides=[1, d_h, d_w, 1], padding='same')

1 个答案:

答案 0 :(得分:0)

  • 两者都不同
  • tf.nn.conv2d_transpose用于上采样
  • tf.layers.max_pooling2d用于下采样
  • tf.nn.conv2d_transpose获取较低维度的图片并将其缩放为更高维度的图片
  • tf.layers.max_pooling2d获取更高维度的图片并将其缩小为较低维度的图片
  • 您无法将tf.nn.conv2d图层替换为tf.layer.max_pooling,因为它们的机器人完全用于相反用途