我正在尝试计算矩阵的每一行与Keras中的矢量之间的点积。
例如,
x = [[2,3,4,5,5],
[3,4,5,6,1],
[5,6,4,2,4],
[4,2,3,4,1]]
w = [0.1,0.3,0.5,0.2,0.6]
在numpy中,我可以像这样做
[np.dot(xx, w) for xx in x]
但我怎么能在Keras做到这一点?
P.S。我简化了表示,我实际上想要计算一个句子与另一个单词之间的注意力。所以在上面的矩阵中,每个数字对应一个300维向量,因为它们是相同的维度,我只用一个词来表示它们。
我在这里也问过这个问题:https://github.com/fchollet/keras/issues/4680但是没有人在那里回答我的问题,有人可以帮助我吗?
感谢。
答案 0 :(得分:1)
for
:如果您不熟悉K.tile
,建议您使用timedistributed
或使用tile
图层。您可以想象每一行都是时间片。dot
:您可以定义Dense
图层,然后使用l.set_weight()
和l.trainable=False
来引起您的注意。