2017-11-02 2 views
0

Ich möchte wissen, wie viel besser schreitet im Vergleich zu Pooling.Kann ich einfach eine tf.nn.conv2d Schicht durch eine tf.layer.max_pooling ersetzen?

Meine aktuellen Code sieht wie folgt aus

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]) 

Würde oben unter mehr oder weniger entspricht dem Code Code?

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

Antwort

0
  • Beide sind verschiedene
  • tf.nn.conv2d_transpose für Upsampling verwendet wird
  • tf.layers.max_pooling2d für
  • Unterabtasten verwendet
  • tf.nn.conv2d_transpose nimmt eine niedrigere Bilddimension und skaliert sie zu einer höheren Dimension Bild
  • tf.layers.max_pooling2d nimmt ein Bild höherer Dimension und skaliert es auf ein Bild niedrigerer Dimension
  • Sie können die tf.nn.conv2d Schicht nicht durch eine tf.layer.max_pooling Schicht ersetzen, da diese vollständig für den entgegengesetzten Zweck verwendet werden.
Verwandte Themen