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

TensorFlow: shape rank 2 in tf.matrix_inverse()

我在尝试 tf.matrix_inverse() 方法时遇到问题。

我有一个维度为 [17,400,400] 的张量。我们可以在 API 文档中阅读:

The input is a tensor of shape [..., M, M] whose inner-most 2 dimensions form square matrices.

在我的例子中,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,但该方法失败。我不知道我是否做错了什么。有帮助吗?

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

先检查你的tensorflow版本:

import tensorflow
tensorflow.__version__

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

不支持带秩的反转张量!=2

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

拉取