1

也许我对什么是“内部”和“外部”张量维度感到困惑,但文档让tf.matmul我感到困惑:

输入必须是矩阵(或秩 > 2 的张量,表示矩阵批次),具有匹配的内部维度,可能在转置之后。

不是 R 秩参数需要匹配(或没有)R-2 外部维度,并且(如在正常矩阵乘法中)第一个参数的 Rth 内部维度必须匹配 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'(或不存在),x并且x'必须匹配(而pq可以是任何东西)。

或者换一种说法,文档不应该说:

在任何转置之后,输入必须是秩 ≥ 2 的张量,其中内部 2 维指定有效的矩阵乘法参数,并且任何进一步的外部维度匹配。

4

2 回答 2

1

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

除此之外,您是对的,第一个 R-2 尺寸必须相同。

因此,在我看来,文档正确地描述了它,但可能会更好。

于 2017-06-01T19:20:32.137 回答
1

这已在最近的合并中得到修复。该文档现在将显示:

在任何转置之后,输入必须是秩 >= 2 的张量,其中内部 2 维指定有效的矩阵乘法参数,并且任何进一步的外部维度匹配。

于 2017-06-07T19:22:20.497 回答