📅  最后修改于: 2023-12-03 15:35:17.932000             🧑  作者: Mango
TensorFlow.js 是一款在浏览器或 Node.js 环境中可以运行的深度学习框架。其中,tf.Sequential 类是 TensorFlow.js 中的序列模型类,它可以让你构建层次模型。.evaluateDataset() 方法是 tf.Sequential 类中的一个方法,用于在给定数据集上评估此识别模型。
.evaluateDataset() 方法可用于评估序列模型在给定数据集上的性能。该方法会在数据集上迭代,将数据分批加载到内存中,并使用指定的 batch size 将每个批次传递到序列模型进行计算。
.evaluateDataset(dataset: Dataset, callbacks: ModelEvaluateDatasetCallbacks, batchSize = null, verbose = 1)
参数说明:
方法 .evaluateDataset() 会返回一个 Promise 对象,该对象包含模型在给定数据集上的评估性能指标。
以下示例代码展示如何使用 .evaluateDataset() 方法评估序列模型的性能。
const model = tf.sequential({
layers: [
tf.layers.dense({inputShape: [10], units: 5, activation: 'relu'}),
tf.layers.dense({units: 3, activation: 'softmax'})
]
});
model.compile({optimizer: 'adam', loss: 'categoricalCrossentropy'});
// 创建数据集
const xs = tf.ones([20, 10]);
const ys = tf.ones([20, 3]);
const dataset = tf.data.zip({xs: xs, ys: ys}).batch(4);
// 评估模型性能
model.evaluateDataset(dataset)
.then((result) => {
console.log(result);
});
以上示例代码创建了一个简单的序列模型,其中包含两个密集层,分别包含 5 个和 3 个神经元。接着使用 .compile() 方法指定了优化器和损失函数。
然后,创建了一个数据集(包含 20 个样本),每个样本包含 10 个特征和 3 个目标值。这个数据集被分成了每个批次包含 4 个样本的子集。
最后,通过调用 .evaluateDataset() 方法在数据集上评估模型的性能。该方法返回一个 Promise 对象,包含了模型在给定数据集上的性能指标。在本示例中,结果将在控制台中打印出来。