📅  最后修改于: 2023-12-03 14:47:55.489000             🧑  作者: Mango
tf.losses.computeWeightedLoss()
函数用于计算加权损失。损失的计算是通过将权重乘以损失值的方式进行加权的。该函数支持各种损失函数。
tf.losses.computeWeightedLoss(
losses: Tensor | Tensor[],
weights?: Tensor | Tensor[],
reduction?: tf.losses.Reduction
): Tensor
losses
: Tensor | Tensor[],表示传入的损失值张量。可以是单个张量或者张量数组。weights
: Tensor | Tensor[],表示传入的损失权重张量。可以是单个张量或者张量数组。如果没有提供该参数,则默认所有权重值均衡为1。reduction
: tf.losses.Reduction,表示计算过程中损失应如何归约的选项。默认使用的是tf.losses.Reduction.SUM_BY_NONZERO_WEIGHTS
。返回一个张量作为加权损失的值。
import * as tf from '@tensorflow/tfjs';
const yTrue = tf.tensor2d([[0, 1], [0, 0]]);
const yPred = tf.tensor2d([[0.6, 0.4], [0.4, 0.6]]);
const losses = tf.losses.sigmoidCrossEntropy(yTrue, yPred);
// 没有传入权重参数,使用默认参数
const defaultWeightedLoss = tf.losses.computeWeightedLoss(losses);
defaultWeightedLoss.print();
// 传入权重参数
const weights = tf.tensor1d([1, 2]);
const weightedLoss = tf.losses.computeWeightedLoss(losses, weights);
weightedLoss.print();
输出:
Tensor
1.0722265
Tensor
0.6647639
tf.losses.computeWeightedLoss()
函数用于计算加权损失,支持各种损失函数,并且可以通过权重参数进行加权。