当我尝试使用tf.matrix_inverse()方法时遇到问题。
我有一个尺寸张量[17,400,400]。我们可以阅读API文档:
输入是形状[...,M,M]的张量,其最内部的2维形成方形矩阵。
在我的情况下,M = 400。当我尝试计算17逆矩阵时:
Out[56]: L
Out[57]: <tf.Tensor 'while_4/Exit_1:0' shape=(17, 400, 400) dtype=float32>
Out[59]: InvL = tf.matrix_inverse(L)
ValueError: Shape (17, 400, 400) must have rank 2
我知道L的形状等级为2,但方法失败了。我不知道我做错了什么。有什么帮助吗?
答案 0 :(得分:1)
您引用的API文档仅适用于tensorflow版本r0.11或主版本。
首先检查你的tensorflow版本:
import tensorflow
tensorflow.__version__
对于r0.11之前的版本,正如documentation在此处所述:
它不支持使用rank!= 2
反转张量尝试update the tensorflow to r0.11或直接从他们的github主分支中提取