📜  Tensorflow.js tf.losses.cosineDistance()函数

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

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