Tensorflow.js tf.layers.dot()函数
Tensorflow.js 是谷歌开发的一个开源库,用于在浏览器或节点环境中运行机器学习模型和深度学习神经网络。 Tensorflow.js tf.layers.dot()函数用于在提供的两个张量之间应用点积。
句法:
tf.layers.dot(args);
参数:此函数接受以下参数:
- args:它是具有以下字段的对象:
- 轴:它定义了轴以点积它要去的方向。
- normalize:它是用于产生余弦值形式的点积答案的布尔数据。
- inputShape:定义模型输入层的形状。它用于创建输入层。
- dtype:图层的数据类型。它用于模型的第一层。
- name:字符串是输入层的名称。
- 权重:它是张量,其值为层的初始值。
- 可训练:定义层是否可训练。它是一种布尔数据类型。
- batchInputShape:它为输入层中的样本定义了批次的形状。它用于制作输入层。
- batchSize:作为输入层构建中batchInputShape的补充。它用于制作输入层。
- inputDType:图层中输入数据的数据类型。
返回:它返回两个张量的乘积张量。
下面是这个函数的一些例子。
示例 1:在此示例中,我们将简单地制作一个张量的点积,其中值的 -2 轴旋转。
Javascript
// import * as tf from "@tensorflow/tfjs"
// Generating tensor of [3,3] shape and size.
const geek_tens1 = tf.randomUniform([3 ,3]);
const geek_tens2 = tf.randomUniform([3 ,3]);
// Making tensor compatible to apply to dot product.
const geek_Input = [geek_tens1 ,geek_tens2];
// Calling dot product
const geek_config = {axes: -2};
const geek_DotPro = tf.layers.dot(geek_config);
const geek_DotProRes = geek_DotPro.apply(geek_Input);
// Printing our result
console.log(geek_DotProRes);
geek_DotProRes.print();
Javascript
import * as tf from "@tensorflow/tfjs"
// Collect both outputs and print separately.
// Generating tensor of [3,3] shape and size.
const geek_tens1 = tf.randomUniform([2 ,4]);
const geek_tens2 = tf.randomUniform([2 ,4]);
// Making tensor compatible to apply to dot product.
const geek_Input = [geek_tens1 ,geek_tens2];
// Calling dot product
const geek_config = {axis: 1, normalize: true,
dtype: 'int32', name: 'DotProduct' };
const geek_DotPro = tf.layers.dot(geek_config);
const geek_DotProRes = geek_DotPro.apply(geek_Input);
// Printing our result
console.log(geek_DotProRes);
输出:
Tensor
[[0.7034817],
[0.2338114],
[1.1493738]]
Tensor
[[0.7034817],
[0.2338114],
[1.1493738]]
示例 2:在此示例中,我们将对两个张量进行点积,并以余弦形式查看结果。
Javascript
import * as tf from "@tensorflow/tfjs"
// Collect both outputs and print separately.
// Generating tensor of [3,3] shape and size.
const geek_tens1 = tf.randomUniform([2 ,4]);
const geek_tens2 = tf.randomUniform([2 ,4]);
// Making tensor compatible to apply to dot product.
const geek_Input = [geek_tens1 ,geek_tens2];
// Calling dot product
const geek_config = {axis: 1, normalize: true,
dtype: 'int32', name: 'DotProduct' };
const geek_DotPro = tf.layers.dot(geek_config);
const geek_DotProRes = geek_DotPro.apply(geek_Input);
// Printing our result
console.log(geek_DotProRes);
输出:
Tensor
0.6817111968994141
参考: https://js.tensorflow.org/api/latest/#layers.dot