One way of defining the output size in this case is by the number of possible placements of the
kernel on the input. Let’s consider the width axis: the kernel starts on the leftmost part of the input
feature map and slides by steps of one until it touches the right side of the input. The size of the
output will be equal to the number of steps made, plus one, accounting for the initial position of the
kernel. The same logic applies for the height axis.
More formally, the following relationship can be inferred:
This translates to the following Theano code:
# output.shape[2] == (i1 - k1) + 1
# output.shape[3] == (i2 - k2) + 1
Zero padding, unit strides
To factor in zero padding (i.e., only restricting to
), let’s consider its effect on the effective input
zeros changes the effective input size from
Relationship 1 can then be used to infer the following relationship:
This translates to the following Theano code:
Convolution arithmetic tutorial — Theano 0.9.0 d... http://deeplearning.net/software/theano_versions/...
5 of 24 2017年05月08日 17:08