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

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

Tensorflow.js tf.losses.sigmoidCrossEntropy()函数

Tensorflow.js是谷歌开发的一个开源库,用于在浏览器或节点环境中运行机器学习模型和深度学习神经网络。它还可以帮助开发人员用 JavaScript 语言开发 ML 模型,并且可以直接在浏览器或 Node.js 中使用 ML。

Tensorflow.js tf.losses.sigmoidCrossEntropy()函数计算两个给定张量之间的 sigmoid 交叉熵损失。

句法:

tf.losses.sigmoidCrossEntropy(
    multiClassLabels, logits, weights, 
    labelSmoothing, reduction
); 

参数:

  • multiClassLabels:它是不同形状的地面实况输出张量,如 num 类、batch 大小。它在维度上与“预测”相似。
  • logits:这是被预测的输出。
  • 权重:这些是那些秩为 0 或 1 的张量,它们必须可广泛转换为 lebels。
  • labelSmoothing:如果该值大于 0,则表示将对标签进行平滑处理。
  • 减少:这是适用于损失的减少类型。它必须是缩减类型。

注意: weightslabelSmoothingreduction是可选参数。

返回值:返回 tf.Tensor。

示例 1:

Javascript
// Importing the tensorflow.Js library
import * as tf from "@tensorflow/tfjs"
 
// Initialising tensor1 as geek1.
let geek1 = tf.tensor3d([[[1], [2]], [[3], [4]]]);
 
// Initialising tensor2 as geek2.
let geek2 = tf.tensor3d([7, 11, 13, 4], [2, 2, 1])
 
// Computing sigmoid Cross Entropy loss
// between geek1 and geek2
// using .sigmoidCrossEntropy) function.
geek = tf.losses.sigmoidCrossEntropy(geek1, geek2)
geek.print();


Javascript
// Importing the tensorflow.Js library
import * as tf from "@tensorflow/tfjs"
 
// Computing sigmoid Cross Entropy loss
// between two 4D tensors and
// printing the result.
tf.losses.sigmoidCrossEntropy(
    tf.tensor4d([[[[9], [8]], [[7], [5]]]]),
    tf.tensor4d([[[[1], [2]], [[3], [4]]]])
).print();


输出:

Tensor
    -12.245229721069336

示例 2:

Javascript

// Importing the tensorflow.Js library
import * as tf from "@tensorflow/tfjs"
 
// Computing sigmoid Cross Entropy loss
// between two 4D tensors and
// printing the result.
tf.losses.sigmoidCrossEntropy(
    tf.tensor4d([[[[9], [8]], [[7], [5]]]]),
    tf.tensor4d([[[[1], [2]], [[3], [4]]]])
).print();

输出:

Tensor
    -13.873268127441406

参考: https ://js.tensorflow.org/api/latest/#losses.sigmoidCrossEntropy