【发布时间】:2018-05-05 12:16:25
【问题描述】:
我试图跨越通道维度,以下代码表现出令人惊讶的行为。我的期望是tf.nn.max_pool 和tf.nn.avg_pool 在输入完全相同的参数时应该产生相同形状的张量。事实并非如此。
import tensorflow as tf
x = tf.get_variable('x', shape=(100, 32, 32, 64),
initializer=tf.constant_initializer(5), dtype=tf.float32)
ksize = (1, 2, 2, 2)
strides = (1, 2, 2, 2)
max_pool = tf.nn.max_pool(x, ksize, strides, padding='SAME')
avg_pool = tf.nn.avg_pool(x, ksize, strides, padding='SAME')
print(max_pool.shape)
print(avg_pool.shape)
打印出来
$ python ex04/mini.py
(100, 16, 16, 32)
(100, 16, 16, 64)
显然,我误解了一些东西。
【问题讨论】:
-
我认为这是一个错误。如果您在 GitHub 上打开问题,请在此处链接,因为我想观看对话,谢谢
-
这似乎是一个错误。或者,您可以使用 slim,它的性能很好。
-
@DenizBeker 你说的 slim 是什么意思?
-
@oarfish 您可以从这里查看详细信息。 github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/…
标签: python-3.x tensorflow deep-learning max-pooling