K、V 矩阵的序列长度是一样的,而 Q 矩阵的序列长度可以不一样。...0.1)
output = attention(query, key, value)
## output: torch.Size([64, 12, 300])
print(output.shape)
3、tensorflow...# tf.where(condition, x, y),condition中的元素为bool值,其中对应的True用x中的元素替换,对应的False用y中的元素替换
# 因此condition...,x,y的维度是一样的。...上述pytorch的示例实际上对应的是if causality下面的代码,因为在编码阶段:Q=K=V(它们之间的维度是相同的),在解码阶段,Q来自于解码阶段的输入,即可以是[64,12,300],而K和