TensorFlow:tf.matrix_inverse()中的形状等级2

时间:2016-11-08 16:05:48

标签: tensorflow matrix-inverse

当我尝试使用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,但方法失败了。我不知道我做错了什么。有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

您引用的API文档仅适用于tensorflow版本r0.11或主版本。

首先检查你的tensorflow版本:

import tensorflow
tensorflow.__version__

对于r0.11之前的版本,正如documentation在此处所述:

tf.matrix_inverse doc for r0.10

它不支持使用rank!= 2

反转张量

尝试update the tensorflow to r0.11或直接从他们的github主分支中提取