Tensorflow tf.nn.conv2d澄清

时间:2017-04-16 23:22:19

标签: python-3.x tensorflow

在阅读Tensorflow教程和API文档时,我不明白他们如何定义卷积输入和过滤器参数的形状。方法是:tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, data_format=None, name=None),其中输入为shape:[batch, in_height, in_width, in_channels],过滤器为shape:[filter_height, filter_width, in_channels, out_channels]。如果有人能够阐明如何正确定义“in_channel”和“out_channel”大小,那将非常有帮助。

1 个答案:

答案 0 :(得分:1)

in_channels指的是宪法层输入的深度。例如,如果使用原始RGB图像输入图层,则深度将为3,对应于红色,绿色和蓝色通道。这意味着内核实际上是3D而不是2D。 out_channels指的是输出深度。来自here的以下图片说明了输入深度为3且输出深度为5的示例:

enter image description here

properly define是基于实验完成的。这是一个网络设计问题。您可以阅读一些着名的体系结构,如AlexNetVGG-16,以了解网络体系结构在实践中的设计。