我想知道如何在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张量问题?
答案 0 :(得分:1)
Theano变量没有明确的形状信息,因为它们是符号变量,而不是数字。即使dtensor3 = T.tensor3(T.config.floatX)
也没有明确的形状。当您输入dtensor3.shape
时,您将获得一个对象Shape.0
,但当您dtensor3.shape.eval()
获取其值时,您将收到错误。
但是,对于这两种情况,dtensor.ndim
分别可以打印5
和3
。
答案 1 :(得分:1)
dtensor = T.TensorType('float32',(False,)*5)
仅调用函数TensorType
。要使用属性dtensor.shape
,您需要将其设为对象。您可以通过以下方式完成:
dtensor = T.TensorType('float32',(False,)*5) ()
如果您愿意,可以在末尾的括号内指定名称。