所以我想用一个常数向量乘以一个嵌入的输出。我使用的是函数式API,而不是Sequential。在
word_seq = Input(shape = (SEQ_LEN,), dtype = "int32", name = "word_seq")
word_embs = Embedding(output_dim = EMBED_DIM, input_dim = VOCAB_SIZE, input_length = SEQ_LEN)(word_seq)
如果我理解正确,因为我没有给出批处理形状,word_embs
应该有形状(None, SEQ_LEN, EMBED_DIM
)。在
我有一个常数向量(numpy array)
q
,形状是(SEQ_LEN
,)。所以我要执行的矩阵乘法是q^T*
(通过在word_embs
中嵌入dim矩阵seq_len
)。在
我想我需要使用keras变量将q转换为张量,然后是一个点层或keras.backend.dot都给我带来了麻烦,因为这个词没有任何维度。我不想使用flant,因为这样可以将它减少到一个单一的维度,而不仅仅是摆脱麻烦的维度。重塑我需要的是什么?或者我可以把单词“_embs[:]传递给lambda层还是什么?在
也许我只是对张量了解不够,但这是非常令人沮丧的。看起来这样一个高级的python库应该很容易就能完成高中的矩阵乘法,但我搞不懂。在
可以使用1作为Lambda中常量张量的批处理维度:
相关问题 更多 >
编程相关推荐