【发布时间】:2019-12-15 15:39:55
【问题描述】:
这个问题不是关于跨步卷积与最大池化的好处。这篇文章旨在作为规范来源,介绍当输入图像的宽度和高度不同而填充相同时,如何计算跨步卷积和最大池的维度。
我的研究:当图像宽度和高度不同而填充为“相同”时,我找不到任何公式可以正确计算卷积的输出,特别是对于 tensorflow。对于跨步卷积和最大池化,同样的问题仍然存在。
我知道post。但就像我之前说的,它不适用于不同的图像尺寸。我也知道这个post。但它没有回答填充相同的情况(在张量流中)。
但是,假设我有 240x320 大小的图像。我有 2 个版本的网络。
版本 A:
from tensorflow import layers as tf
x = tf.conv2d(input_im, filters=64, kernel_size=3, strides=1, padding='SAME')
x = tf.conv2d(x, filters=64, kernel_size=3, strides=1, padding='SAME')
x = tf.conv2d(x, filters=64, kernel_size=3, strides=2, padding='SAME')
B 版:
from tensorflow import layers as tf
x = tf.conv2d(input_im, filters=64, kernel_size=3, strides=1, padding='SAME')
x = tf.conv2d(x, filters=64, kernel_size=3, strides=2, padding='SAME')
x = tf.max_pooling(x, 2, 2, padding='SAME')
我的问题如下。在版本 A 和 B 的每一层之后,在给定上述输入图像大小的情况下,输出尺寸是多少?如果我在 Keras 中执行此操作,我会简单地使用 model.summary();但是,我正在使用 tensorflow 并且没有这样的等效功能。我无法在我正在处理的远程机器上运行 tensorboard。
【问题讨论】:
标签: python tensorflow deep-learning