常见的库如opencv, theano等的卷积操作方法(cv2.filter2D, theano.tensor.nnet.conv2d)都有带有\(2d\), 这个2d代表什么呢?


# 卷积操作的维度
进行conv操作时, 它的前进方向的维度就是conv操作的维度. 例如最常见的图片conv操作只沿长与宽两个方向进行, 所以是$2D$的conv. 若conv操作还沿channel方向前进, 那它就是$3D$的. 最简单的判别方式就是看conv操作stride的(有效)维度. CNN里的stride都是$(s_y, s_x)$, 如$(1, 1), (2, 2)$, 两维的.

output = theano.tensor.nnet.conv2d(
    input, filters, input_shape=(b, c2, i1, i2), filter_shape=(c1, c2, k1, k2),
    border_mode=(0, 0), subsample=(1, 1))

#Reference
* http://deeplearning.net/software/theano_versions/dev/tutorial/conv_arithmetic.html