我有以下形状的两个张量:
tensor1 => shape(?, ?, 100) # corresponds to [batch_size, max_time, embedding_size]
tensor2 => shape(?, 100) # corresponds to [batch_size, embedding_size]
我想要做的是为每个[100] dimensional
向量tensor2
获得与相应[max_time, 100] dimensional
矩阵的矩阵乘法tensor1
以获得维向量batch_size
的数量;max_time
这与[batch_size, max_time] dimensional
矩阵相同。
对于那些知道的人:我基本上是在尝试在 seq2seq 模型的编码器给出的编码输入上实现基于内容的注意力。所有的[max_time]
维度向量只是我后来softmax的注意力值。
我知道 tensorflowAttentionWrapper
在包中提供了各种帮助contrib
程序。但是,我希望这样做,因为我正在尝试使用注意力机制来获得混合注意力掩码。
我已经尝试过了,tf.while_loop
但是卡在了?
展开循环的形状中。矢量化实现对我来说似乎也不是很直接。请帮忙。