为什么在 Theano 中创建 itensor3 时得到的是 int64?

Why do I get int64 when creating itensor3 in Theano?

我对 Theano 很陌生, 我正在尝试使用 itensor3 创建一个 int32 张量,但由于某种原因,我得到的是 int64 而不是 int32。 我需要在配置文件中指定任何内容吗?

from theano import tensor as T
l=T.itensor3()
k=l.shape[0]
f=theano.function([l],k)
inp=numpy.zeros((2,3,4), dtype=numpy.int32)
f(inp)
>>>array(2L, dtype=int64)

在 Theano 中,我相信形状总是在 int64 值中指定。

Theano 函数的结果 f 是形状大小,即 l.shape[0] 因此 f 返回的结果类型将是 int64.这不会改变输入类型为 int32.

的事实