【问题标题】:TensorFlow: Hadamard Product:: How do I get this?TensorFlow: Hadamard 产品:: 我如何得到这个?
【发布时间】:2021-02-15 14:15:00
【问题描述】:

Tensorflow 的功能:

tf.matmul

这将两个向量相乘并产生一个标量。

但是,我需要执行以下操作:

# dense dim:  (?,227)
dense_part = tf.nn.relu(some stuff here)

# softmax matrix dim: (?,227,19) or (?,19,227) or (?,227,227), where I 
# ....can slice the last dim down to (?,227,19)
softmax_matrix = tf.matmul(dense_part,softmax_weight_variable)

但是,我无法设置 softmax_weight_variable 以通过矩阵乘法来完成此操作。我需要使用“张量积”(也称为“外积”......),但这个功能似乎没有实现。

如何在 TensorFlow 中实现 Hadamard(逐元素)乘法和外积?

【问题讨论】:

    标签: python tensorflow


    【解决方案1】:

    xy 的元素乘法就是 tf.mul(x, y)。这也是supports NumPy-style broadcasting,如果你需要的话,你应该可以用它来获得一个外部产品。

    【讨论】:

      【解决方案2】:

      在 Tensorflow 1.11 中是 tf.multiply。这些函数提供了两个形状相同的张量的 Hadamard 积。

      【讨论】:

        【解决方案3】:

        在 2.4.1 版的 Tensorflow 中,这个函数看起来被命名为 tf.math.multiply

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-10-20
          • 2019-12-05
          • 1970-01-01
          • 1970-01-01
          • 2019-08-04
          • 1970-01-01
          相关资源
          最近更新 更多