【发布时间】:2016-06-29 01:10:32
【问题描述】:
根据这个paper,输出形状是N + H - 1,N是输入高度或宽度,H是内核高度或宽度。这显然是卷积的逆过程。这个tutorial 给出了一个计算卷积输出形状的公式,它是(W−F+2P)/S+1,W - 输入大小,F - 滤波器大小,P - 填充大小,S - 步幅。但是在Tensorflow,有这样的测试用例:
strides = [1, 2, 2, 1]
# Input, output: [batch, height, width, depth]
x_shape = [2, 6, 4, 3]
y_shape = [2, 12, 8, 2]
# Filter: [kernel_height, kernel_width, output_depth, input_depth]
f_shape = [3, 3, 2, 3]
所以我们使用y_shape、f_shape和x_shape,根据公式(W−F+2P)/S+1计算填充大小P。从(12 - 3 + 2P) / 2 + 1 = 6,我们得到P = 0.5,它不是一个整数。反卷积在 Tensorflow 中是如何工作的?
【问题讨论】:
标签: neural-network tensorflow deep-learning conv-neural-network