Что делает tf.keras.backend.dot? - PullRequest
1 голос
/ 11 июня 2019

В настоящее время я пытаюсь реализовать LSTM на C. Поэтому мне нужно понять 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]
Это правильно?

1 Ответ

1 голос
/ 11 июня 2019

Да, он возвращает скалярное произведение двух тензоров.И в соответствии с вашим примером, это верно в смысле точечного произведения тензора переменной длины, которое совпадает с умножением матрицы.Следовательно, вы получите его, как и ожидалось.

Математически точечный продукт двух переменных a и b можно определить как: a.b=sum(a<i>*b<i>); where i ranges from 0 to n;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...