私はいくつかの単純な Theano コードで遊んでいますが、次のような問題に遭遇しました。
import numpy
import theano
from theano import tensor
from theano.tensor.signal.conv import conv2d
m = tensor.fmatrix()
w = numpy.ones([10,1], dtype=numpy.float32)
c = conv2d(m,w)
f = theano.function([m], c)
print f(numpy.ones([100,100], dtype=numpy.float32)).shape
結果: (1, 91, 100)
2 次元入力の 2 次元畳み込みの結果は 2 次元であると予想されますが、実際には 3 次元です。なんで?