Theano的5D张量

时间:2015-12-27 18:04:47

标签: python theano symbolic-computation

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

具体来说,我尝试了curl -X PUT /index { "mappings": { "_default_": { "dynamic_templates": [ { "default": { "match": "*", "match_mapping_type": "string", "mapping": { "type": "string", "index": "not_analyzed" } } } ] } } 。但是,唯一的问题是dtensor = T.TensorType('float32', (False,)*5)会返回:dtensor.shape

然而,如果我使用像AttributeError: 'TensorType' object has no attribute 'shape'这样的标准张量类型,那么当我致电dtensor = T.tensor3('float32')时,我就不会遇到此问题 有没有办法让这不是Theano的5D张量问题?

2 个答案:

答案 0 :(得分:1)

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

但是,对于这两种情况,dtensor.ndim分别可以打印53

答案 1 :(得分:1)

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

仅调用函数TensorType。要使用属性dtensor.shape,您需要将其设为对象。您可以通过以下方式完成:

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

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