Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从tf.layers.conv2d了解输入/输出张量_Python_Tensorflow_Conv Neural Network - Fatal编程技术网

Python 从tf.layers.conv2d了解输入/输出张量

Python 从tf.layers.conv2d了解输入/输出张量,python,tensorflow,conv-neural-network,Python,Tensorflow,Conv Neural Network,我试图理解由tf.layers.conv2d执行的转换 TensorFlow网站上的mnist教程代码包括卷积层: # Computes 64 features using a 5x5 filter. # Padding is added to preserve width and height. # Input Tensor Shape: [batch_size, 14, 14, 32] # Output Tensor Shape: [batch_size, 14, 14, 64] conv2

我试图理解由
tf.layers.conv2d
执行的转换

TensorFlow网站上的mnist教程代码包括卷积层:

# Computes 64 features using a 5x5 filter.
# Padding is added to preserve width and height.
# Input Tensor Shape: [batch_size, 14, 14, 32]
# Output Tensor Shape: [batch_size, 14, 14, 64]
conv2 = tf.layers.conv2d(
    inputs=pool1,
    filters=64,
    kernel_size=[5, 5],
    padding="same",
    activation=tf.nn.relu)

然而,我的期望是,当每个过滤器应用于每个图像时,32个输入图像将乘以过滤器的数量,以给出
[batch_sz,14,14,2048]
的输出张量。显然这是错误的,但我不知道为什么。转换是如何工作的?API文档没有告诉我它是如何工作的。如果输入张量是
[批次大小,14,14,48]

输出大小取决于输入尺寸、过滤器宽度、填充和步幅。您可以评估conv2(以及任何单独的图层),然后打印输出的尺寸,以确保它们符合您的想法。您不需要仅在最后一层调用eval,因为tensorflow比这灵活得多。

我想您可能对过滤器的工作原理有一点误解。并提供一些详细的解释。我发现介绍中的卷积演示动画非常有助于展示它的工作原理

这里的关键是过滤器如何工作。通常,卷积层有一组
K
过滤器(在您的示例中为64)。对于每个过滤器,实际形状是
内核大小+输入深度(示例中为5x5x32)。这意味着一个过滤器将同时查看/应用于32个通道/图像,并给出一个结论/计算结果特征。因此,输出特性的depth/num等于
filters
参数,而不是
input\u depth*filters
。请检查以了解用于计算的实际内核和最终内核


因此,为了回答您的最后一个问题,对于您的设置,
[batch\u size,14,14,32]
[batch\u size,14,14,48]
的输出将始终是
[batch\u size,14,14,64]

谢谢您。罗,这是我所怀疑但不确定的。至少就我所能找到的情况而言,TF文档没有解释这一点,这很烦人。@tinyMind不客气。有时,有关流行算法的详细信息可能会出现在文档中。