Theano 中的 5D 张量

5D tensor in Theano

我想知道如何在 Theano 中制作 5D 张量。

具体来说,我尝试了 dtensor = T.TensorType('float32', (False,)*5)。然而,唯一的问题是 dtensor.shapereturns: AttributeError: 'TensorType' object has no attribute 'shape'

而如果我使用像 dtensor = T.tensor3('float32') 这样的标准张量类型,我在调用 dtensor.shape. 时不会遇到这个问题 有没有办法让这不是 Theano 中 5D 张量的问题?

Theano 变量没有明确的形状信息,因为它们是 符号 变量,而不是数值。即使 dtensor3 = T.tensor3(T.config.floatX) 也没有明确的形状。当您键入 dtensor3.shape 时,您将得到一个对象 Shape.0,但是当您执行 dtensor3.shape.eval() 以获取其值时,您将收到一个错误。

然而,对于这两种情况,dtensor.ndim 工作并分别打印出 53

dtensor = T.TensorType('float32',(False,)*5) 

只调用函数TensorType。为了使用属性 dtensor.shape 你需要把它变成一个对象。您可以通过以下方式完成:

dtensor = T.TensorType('float32',(False,)*5) ()

如果您愿意,可以在末尾的括号内指定名称。