c - tf.keras.backend.dot 有什么作用?
问题描述
我目前正在尝试在 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]
这是对的吗?
解决方案
是的,它返回两个张量的点积。根据您的示例,它在可变长度张量的点积意义上是正确的,这与矩阵乘法相同。因此,您可以按预期得到它。
两个变量的数学点积,a
可以b
定义为:
a.b=sum(a<i>*b<i>); where i ranges from 0 to n;
推荐阅读
- snakemake - snakemake 从文件夹中的所有文件并行运行单个作业
- .net-core - 使用节点服务从 dotnet Core 2 创建 PDF 文档
- sql - 整个数据库的 SQL 搜索引擎
- lua - 如何从 Love2D 的子目录中获取共享对象文件 (nukear.so)?
- javascript - 无需重新加载页面即可启动 WOW animation.js
- java - 发送电子邮件的 Ant 脚本
- php - 有没有办法可以在 php 中使用节点 js 库?
- c# - Xamarin 选择器绑定
- angular - 角度通知器未显示
- scala - 在 Intellij 和 ScalaFiddle 中的 Scala 上打印