【问题标题】:Tensor Operation in TensorflowTensorflow 中的张量运算
【发布时间】:2019-08-18 23:45:46
【问题描述】:

如图所示,我有 2 个张量张量 A 和张量 B。我想从张量 B 中获取每个 1x16 向量,并沿 A 的轴 1 和 2 与张量 A 的相应批次(轴 0 是每个张量中的批次维度)执行点积。我如何在张量流中做到这一点。任何有关代码的帮助将不胜感激。谢谢

我尝试了 einsum,但很困惑。

预期的输出形状应该是 (3,2,28,28)。

【问题讨论】:

标签: python tensorflow tensor


【解决方案1】:

你可以这样做:

import tensorflow as tf

A = tf.placeholder(tf.float32, [3, 28, 28, 16])
B = tf.placeholder(tf.float32, [3, 2, 16])
A_exp = A[:, tf.newaxis]
B_exp = B[:, :, tf.newaxis, tf.newaxis]
C = tf.reduce_sum(A_exp * B_exp, axis=-1)
print(C)
# Tensor("Sum:0", shape=(3, 2, 28, 28), dtype=float32)

【讨论】:

  • 非常感谢...这正是我所需要的。
  • @AbhisekDash 我很高兴它有所帮助。如果您认为它解决了您的问题,请考虑将答案标记为已接受。
  • 我尝试投票但状态没有改变,因为我的声望点少于 15
  • @AbhisekDash 没关系,谢谢。如果需要,您应该可以将其标记为已接受(绿色勾号),但不要担心。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-05
  • 1970-01-01
相关资源
最近更新 更多