如何执行具有不同维度的两个向量的逐元素乘法

时间:2017-12-05 22:36:09

标签: tensorflow

我有两个向量A& B具有尺寸(1,100)和(784,100)。我认为A将沿着原始广播到与B相同的维度,但是得到的错误是"维度必须相等"。你能解释一下原因吗?

1 个答案:

答案 0 :(得分:0)

广播具有相同等级的矩阵(即2)似乎可以作为it says on the tin

import tensorflow as tf
tf.__version__
# 1.3.0

A = tf.constant([[1, 2], [3, 4], [5, 6]], dtype=tf.float32)
B = tf.constant([[1, -1]], dtype=tf.float32)

sess = tf.Session()
sess.run(A * B)
# array([[ 1., -2.],
#        [ 3., -4.],
#        [ 5., -6.]], dtype=float32)

sess.run(tf.multiply(A, B))
# array([[ 1., -2.],
#        [ 3., -4.],
#        [ 5., -6.]], dtype=float32)