Tensorflow.js tf.losses.cosineDistance()函数
Tensorflow.js是谷歌开发的一个开源库,用于在浏览器或节点环境中运行机器学习模型和深度学习神经网络。
tf.losses.cosineDistance()函数用于计算两个张量之间的余弦距离损失。
句法:
tf.losses.cosineDistance(labels, predictions,
axis, weights?, reduction?)
参数:该函数接受五个参数,其中最后两个是可选的,如下图所示:
- 标签:地面实况输出张量。尺寸将与预测相同。
- 预测:预测的输出。
- 轴:沿该维度计算余弦距离。
- weights:它是一个 rank 为 0 的张量,或与标签相同的 rank,它必须可广播到标签,这意味着所有维度必须为 1,或与相应的损失维度相同。此参数是可选的。
- 减少:适用于损失的减少类型。这也是一个可选参数。
返回值:它返回一个张量,它是两个张量之间的余弦距离损失。
示例 1:
Javascript
// Importing the tensorflow.Js library
import * as tf from "@tensorflow/tfjs"
// Creating labels tensor
const a = tf.tensor2d([[1, 4, 5], [5, 5, 7]]);
// Creating predictions tensor
const b = tf.tensor2d([[3, 2, 5], [3, 2, 7]])
// Computing cosine distance
cosine = tf.losses.cosineDistance(a, b)
cosine.print();
Javascript
// Importing the tensorflow.Js library
import * as tf from "@tensorflow/tfjs"
// Creating labels tensor
const a = tf.tensor2d([
[1, 4, 5, 5, 5, 7],
[4, 7, 6, 8, 9, 4]
]);
// Creating predictions tensor
const b = tf.tensor2d([
[3, 2, 5, 3, 2, 7],
[3, 5, 7, 2, 4, 5]
]);
// Computing cosine distance
cosine = tf.losses.cosineDistance(a, b , 1)
cosine.print();
输出:
Tensor
-109
示例 2:在此示例中,我们将传递一个额外的参数,即重量。这是一个可选参数。
Javascript
// Importing the tensorflow.Js library
import * as tf from "@tensorflow/tfjs"
// Creating labels tensor
const a = tf.tensor2d([
[1, 4, 5, 5, 5, 7],
[4, 7, 6, 8, 9, 4]
]);
// Creating predictions tensor
const b = tf.tensor2d([
[3, 2, 5, 3, 2, 7],
[3, 5, 7, 2, 4, 5]
]);
// Computing cosine distance
cosine = tf.losses.cosineDistance(a, b , 1)
cosine.print();
输出:
Tensor
-134.5
参考: https://js.tensorflow.org/api/latest/#losses.cosineDistance