📜  Tensorflow.js tf.layers.dot()函数

📅  最后修改于: 2022-05-13 01:56:25.299000             🧑  作者: Mango

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