【问题标题】:how to multiply batch of matrices by corresponding tensors (1 D) in tensorflow如何在张量流中将一批矩阵乘以相应的张量(1 D)
【发布时间】:2020-08-16 15:37:38
【问题描述】:

假设我有形状为 (3,2,2) 的张量,我想将每个 (2,2) 矩阵乘以某个 1d 张量。这是代码:

a=tf.constant([[[1,0],[1,0]], [[2,0],[1,0]], [[3,0],[1,0]] ])
b=tf.constant([1,2,3])

在这里,我想将[[1,0],[1,0]] 乘以 1,[[2,0],[1,0]] 乘以 2,[[3,0],[1,0]] 乘以 3。所以乘法后我应该得到:

[[[1,0],[1,0]], [[4,0],[2,0]], [[9,0],[3,0]] ]

编辑:我没有使用急切执行

【问题讨论】:

  • 你好,我解决了问题

标签: python tensorflow keras tensorflow2.0 tensor


【解决方案1】:
tf.convert_to_tensor([tf.multiply(aa, bb) for aa, bb in zip(a, b)])
<tf.Tensor: shape=(3, 2, 2), dtype=int32, numpy=
array([[[1, 0],
        [1, 0]],
       [[4, 0],
        [2, 0]],
       [[9, 0],
        [3, 0]]])>

【讨论】:

  • 我已经找到了不同的答案,还有更好的答案,谢谢
  • 我受宠若惊。你为什么不把它作为答案发布,这样每个人都知道你不再等待答案了
  • 抱歉,您的解决方案对我的也不起作用。就像我说的,我没有使用急切的执行。起初我有循环(这很容易),我不想有循环
  • 你能发布一个你想要完成的小例子吗?
  • 这不是问题吗?我给出了详细的问题,我认为不可能有更详细的答案
猜你喜欢
  • 2018-11-19
  • 1970-01-01
  • 2018-02-23
  • 2018-05-24
  • 2020-08-11
  • 2018-11-01
  • 2018-12-09
  • 1970-01-01
  • 2023-03-20
相关资源
最近更新 更多