tf.nn.pool()使用例子:
在tensorflow中对一维信号进行池化操作时使用,输入数据的维度为三维[batch , in_width, in_channels]。
原文链接: https://www.dotnetperls.com/pool-tensorflow
import tensorflow as tf
temp = [0., 0., 1., 0., 0., 0., 1.5, 2.5]
# Reshape the tensor to be 3 dimensions.
values = tf.reshape(temp, [1, 8, 1])
# Use an averaging pool on the tensor.
p_avg = tf.nn.pool(input=values,
window_shape=[2],
pooling_type="AVG",
padding="SAME")
# Use max with this pool.
p_max = tf.nn.pool(input=values,
window_shape=[2],
pooling_type="MAX",
padding="SAME")
session = tf.Session()
# Print our tensors.
print("VALUES")
print(session.run(values))
print("POOL")
print(session.run(p_avg))
print("POOL MAX")
print(session.run(p_max))
VALUES
[[[ 0. ]
[ 0. ]
[ 1. ]
[ 0. ]
[ 0. ]
[ 0. ]
[ 1.5]
[ 2.5]]]
POOL
[[[ 0. ]
[ 0.5 ]
[ 0.5 ]
[ 0. ]
[ 0. ]
[ 0.75]
[ 2. ]
[ 2.5 ]]]
POOL MAX
[[[ 0. ]
[ 1. ]
[ 1. ]
[ 0. ]
[ 0. ]
[ 1.5]
[ 2.5]
[ 2.5]]]