📜  Tensorflow.js tf.metrics.categoricalCrossentropy()函数(1)

📅  最后修改于: 2023-12-03 15:35:17.588000             🧑  作者: Mango

TensorFlow.js tf.metrics.categoricalCrossentropy()函数

tf.metrics.categoricalCrossentropy() 是 TensorFlow.js 库中的内置度量函数。它是用于分类问题的常见度量函数之一。它通过将分类问题中预测值与真实标签之间的交叉熵损失计算出平均损失来度量模型性能。

语法
tf.metrics.categoricalCrossentropy(yTrue, yPred, weights)
参数
  • yTrue - 真实标签。一个张量或数组。
  • yPred - 预测值。一个张量或数组。
  • weights - 权重。一个张量或数组。默认为 null
返回值
  • 一个度量指标张量。
代码示例
const tf = require('@tensorflow/tfjs');

// 创建模型
const model = tf.sequential();
model.add(tf.layers.dense({
  units: 2,
  inputShape: [2],
  activation: 'softmax'
}));
model.compile({
  optimizer: 'sgd',
  loss: 'categoricalCrossentropy',
  metrics: ['accuracy']
});

// 生成数据
const xs = tf.tensor2d([[1, 2], [2, 1], [2, 3], [3, 2]]);
const ys = tf.oneHot(tf.tensor1d([0, 1, 0, 1], 'int32'), 2);

// 训练模型
model.fit(xs, ys, {
  epochs: 10,
  callbacks: {
    onEpochEnd: (epoch, logs) => {
      console.log(`Epoch ${epoch}: loss = ${logs.loss}, accuracy = ${logs.acc}`);
    }
  }
});

在上面的示例中,我们创建了一个具有一个隐藏层的简单多层感知器(MLP)模型。我们使用 Softmax 激活函数和 Categorical cross-entropy 损失函数编译了该模型,并使用训练数据进行训练。在训练过程中,我们记录了每个 epoch 的损失和准确度。