【问题标题】:Are valid `tf.matmul` arguments described correctly in the TensorFlow documentation? [closed]TensorFlow 文档中是否正确描述了有效的“tf.matmul”参数? [关闭]
【发布时间】:2017-06-01 18:50:22
【问题描述】:

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

输入必须是矩阵(或秩 > 2 的张量,表示 批量矩阵),具有匹配的内部尺寸,可能在之后 换位。

难道不是 R 秩参数需要匹配(或没有)R-2 外部维度,并且(如在正常矩阵乘法中)第 R 个,第一个参数的内部维度必须匹配 R -1 维的第二个。也就是说,在

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 可以是任何东西)。

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

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

【问题讨论】:

  • 我投票结束这个问题,因为we are not customer support for your favorite company.
  • @Mogsdad 您链接到的元数据与此问题有何关联?
  • 您的问题集中在文档上,并提供了更正 - 就像您在向供应商报告错误时进行的那种对话。 (反映在供应商的回复中。)所以 - 向供应商报告了问题,供应商做出了回应,你得到了你需要的东西。但是,这个问题对其他人没有长期的帮助,因此对于 StackOverflow 来说是题外话。
  • @Mogsdad 这句话有点夸张,但很努力!

标签: tensorflow documentation matrix-multiplication tensor


【解决方案1】:

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

除此之外,前 R-2 维必须相同是对的。

因此,我认为文档描述正确,但可以更好。

【讨论】:

  • 我已经编辑了我的建议。
  • @raxacoricofallapatorius 你能说出文档中究竟有什么不清楚的地方吗?换位的作用很简单,如果你通过transpose_a = True它与通过a而不是通过tf.tranpose(a)是一样的
  • 是的,我在建议中添加了换位。不清楚的是它们似乎是错误的(这就是问题):“匹配内部尺寸”既不正确(如果我有内部和外部正确,或者除非两个参数的转置默认为 True)也不完整(p 和q 可以是任何东西)。
  • @raxacoricofallapatorius 我假设“匹配”意味着“对乘法有效”。在这种情况下是正确的。如果通过“匹配”他们的意思是“相同”,那么这是错误的。我也不知道张量的“内/外”维度。
  • 是的,所以这里的两个关键术语有问题:“匹配”是模棱两可的(我认为实际上是错误的,因为匹配具有非常明确的含义,而不仅仅是“对乘法有效”);而且我们(我们俩)都不确定“内部/外部”是什么意思(但我认为文档已经颠倒了)。
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2018-06-01
    • 1970-01-01
    • 2019-10-17
    • 1970-01-01
    • 1970-01-01
    • 2017-09-05
    • 1970-01-01
    • 2018-06-17
    • 1970-01-01
    相关资源
    最近更新 更多