Tensorflow.js tf.losses.logLoss()函数
Tensorflow.js 是谷歌开发的一个开源库,用于在浏览器或节点环境中运行机器学习模型和深度学习神经网络。
Tensorflow.js tf.losses.logLoss()函数计算两个给定张量之间的对数损失。
句法:
tf.losses.logLoss (labels, predictions, weights?, epsilon?, reduction?)
参数:
- 标签:它指定真值输出张量。基于此张量预测绝对差。
- 预测:它指定与标签具有相同维度的预测输出张量。
- 权重:它指定一个等级张量,或者等于标签的等级,以便它可以广播,或者为 0。它是一个可选参数。
- epsilon:一个小的常数值,以避免取零的对数。它是一个可选参数。
- 减少:它指定减少损失的类型。它是可选的。
返回值:它返回一个由 logLoss()函数计算的 tf.Tensor。
示例 1:在此示例中,我们将使用两个 2d 张量作为标签和预测。然后我们会找到这两个张量的对数损失。
Javascript
// Importing the tensorflow.js library
const tf = require("@tensorflow/tfjs");
// Defining label tensor
const x_label = tf.tensor2d([
[0., 1., 0.],
[1., 0., 1.]
]);
// Defining prediction tensor
const x_pred = tf.tensor2d([
[1., 1., 1.],
[0., 0., 0. ]
]);
// Calculating log loss
const log_loss = tf.losses.logLoss(x_label,x_pred)
// Printing the output
log_loss.print()
Javascript
// Importing the tensorflow.js library
const tf = require("@tensorflow/tfjs");
// Defining label tensor
const x_label = tf.tensor2d([
[1, 0, 0],
[1, 1, 0]
]);
// Defining prediction tensor
const x_pred = tf.tensor2d([
[1, 1, 1],
[0, 0, 0]
]);
const epsilon = 0.1;
// Calculating log loss
const log_loss = tf.losses.logLoss(x_label,x_pred,epsilon)
// Printing the output
log_loss.print()
输出:
Tensor
10.745397567749023
示例 2:在此示例中,我们将记录两个给定张量的损失,并避免使用小的常数值 epsilon 取零的对数。
Javascript
// Importing the tensorflow.js library
const tf = require("@tensorflow/tfjs");
// Defining label tensor
const x_label = tf.tensor2d([
[1, 0, 0],
[1, 1, 0]
]);
// Defining prediction tensor
const x_pred = tf.tensor2d([
[1, 1, 1],
[0, 0, 0]
]);
const epsilon = 0.1;
// Calculating log loss
const log_loss = tf.losses.logLoss(x_label,x_pred,epsilon)
// Printing the output
log_loss.print()
输出:
Tensor
1.0745397806167603
参考: https ://js.tensorflow.org/api/latest/#losses.logLoss