我基本上是在尝试在tensorflow中添加两个张量,关键在于它们长度不同,a = [1, 2, 3, 4, 5]
和 b = [1, 2, 3]
,我正在寻找一个我称之为 tf.myadd
的函数,如下所示
tf.myadd(a, b) = [2, 4, 6, 4, 5]
我一直在研究广播,但这并没有达到预期的效果。
回答:
广播是tf
中所有张量操作的默认行为。在这种情况下,您试图避免广播,因为这两个张量((5,) 和 (3,))在axis=0上按照标准的广播规则是不可广播的。所以您需要的是不进行广播的逐元素加法。
在这种情况下,您可以对较小的数组进行后填充,使得两个一维张量具有相同的形状,然后在axis=0
上逐元素相加。
像这样 –
array([2, 4, 6, 4, 5], dtype=int32)