我正在查看Tensorflow的卷积网络层教程: https://www.tensorflow.org/tutorials/layers#dense_layer
在本教程中,前两个层是这样的:
conv1 = tf.layers.conv2d(inputs=input_layer,filters=32,kernel_size=[5,5],padding="same",activation=tf.nn.relu)
pool1 = tf.layers.max_pooling2d(inputs=conv1, pool_size=[2, 2], strides=2)
在第一个卷积层之后,教程说: "我们的conv2d()产生的输出张量的形状为[batch_size,28,28,32]:与输入相同的宽度和高度尺寸,但现在有32个通道保持每个滤波器的输出。 "
但是在第一个汇聚层之后,教程说: "我们的输出张量由max_pooling2d()(pool1)生成,其形状为[batch_size,14,14,1]:2x2过滤器将宽度和高度减少50%。"
池化层实际上不应该产生一个形状张量[batch_size,14,14,32],因为pooling2d操作应该在高度和宽度轴而不是通道轴上汇集?这与教程中的第2层一致:
" conv2的形状为[batch_size,14,14,64],宽度和高度与pool1相同(由于填充="相同"),64个通道为64已应用过滤器。
池#2将conv2作为输入,生成pool2作为输出。 pool2具有形状[batch_size,7,7,64](从conv2减少50%的宽度和高度)。"
感谢您的光临。