TensorFlow 文档中是否正确描述了有效的“tf.matmul”参数?

Are valid `tf.matmul` arguments described correctly in the TensorFlow documentation?

也许我对 "inner" 和 "outer" 张量维度感到困惑,但 tf.matmul 的文档让我感到困惑:

The inputs must be matrices (or tensors of rank > 2, representing batches of matrices), with matching inner dimensions, possibly after transposition.

R-rank 参数是否需要匹配(或没有)R-2 外部维度,并且(如在普通矩阵乘法中)第 R 个参数的内部维度必须匹配第二个的 R-1st 维度。也就是说,在

A = tf.constant(..., shape=[a, ..., z, p, x])
B = tf.constant(..., shape=[a', ..., z', x', q]) 
C = tf.matmul(A, B)

外部尺寸 a, ..., z 必须与 a', ..., z' 相同(或不存在),并且 xx' 必须匹配(而 pq 可以是任何东西)。

或者换句话说,文档不应该说:

The inputs must, following any transpositions, be tensors of rank ≥ 2 where the inner 2 dimensions specify valid matrix multiplication arguments, and any further outer dimensions match.

您提议的文档没有说明转置:请注意 tf.matmul 具有允许转置参数的参数。因此,如果您将其中一些指定为真,内部 2 维指定有效的矩阵乘法参数,可能在转置之后

除此之外,第一个 R-2 维度必须相同是正确的。

所以,在我看来文档描述正确,但可以更好。

这是 fixed in a recent merge。文档现在将显示为:

The inputs must, following any transpositions, be tensors of rank >= 2 where the inner 2 dimensions specify valid matrix multiplication arguments, and any further outer dimensions match.