我目前正在尝试在C语言中实现LSTM。因此,我需要了解https://www.tensorflow.org/api_docs/python/tf/keras/backend/dot。
例如,如果我打给我:dot([1,2],[3,4,5])
for(i = 0; i<size1; i++)
{
for(j = 0; j<size2; j++)
{
tmp += first[j]*second[i];
}
result[i] = tmp;
tmp = 0;
}
因此它将导致:[1 * 3 + 2 * 3,1 * 4 + 2 * 4,1 * 5 + 2 * 5]
是这样吗?
答案 0 :(得分:1)
是,它返回两个张量的点积。按照您的示例,就长度可变张量的点积而言,这是正确的,这与矩阵乘法相同。因此,您可以按预期获得它。
两个变量a
和b
的数学点积可以定义为:
a.b=sum(a<i>*b<i>); where i ranges from 0 to n;