【问题标题】:Why TensorFlow's division hasn't have axis parameter?为什么TensorFlow的划分没有轴参数?
【发布时间】:2017-06-14 08:08:58
【问题描述】:

我的问题如下:

当我想将矩阵除以列轴上的向量时,TensorFlow 仅在 A 是具有 [n,n] 形状的矩阵和 v 具有 [1,n] 形状的向量时才提供行分割。

我的解决方案是这样的:

tf.transpose(tf.div(tf.transpose(A), v))

我试过了,但它不起作用: 更新:它起作用了! ????

tf.div(A, tf.transpose(v))

所以我的问题是对于这个问题是否存在更有效的解决方案。

【问题讨论】:

    标签: python math tensorflow linear-algebra algebra


    【解决方案1】:

    您使用A / tf.transpose(v) 的第二个解决方案应该可以工作。 tf.div() 没有轴参数,因为它“按元素划分 x / y”。所以两个张量应该有相同的维度。

    在您的情况下,它适用于不同的维度,因为tf.div supports broadcasting。更多关于广播的信息是here

    它也尽可能高效,因此无需寻找其他任何东西。

    【讨论】:

    • 嗨!非常感谢您的回答。我已经纠正了错误。它是因为我将v 定义为返回一维张量的tf.reduce_sum(A, 1) 而生成的,因此它是不可转置的。使用 tf.reduce_sum(A, 1, keep_dimens=True) 它返回可转置的二维张量。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-04
    • 1970-01-01
    • 2022-10-17
    • 2019-05-24
    • 2013-01-29
    相关资源
    最近更新 更多