📌  相关文章
📜  Tensorflow.js tf.LayersModel 类(1)

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

TensorFlow.js tf.LayersModel 类介绍

tf.LayersModel 类是 TensorFlow.js 中用于创建、训练和预测神经网络的一种类型。它是基于 Keras 的模型 API 构建的,并且具有与 Keras 模型 API 相似的接口和功能。以下是该类的一些主要特征和用法:

创建模型

您可以使用 tf.LayersModel 类创建神经网络模型。以下是一个使用 tf.LayersModel 类创建简单的全连接网络的示例:

const model = tf.sequential();
model.add(tf.layers.dense({inputShape: [784], units: 32, activation: 'relu'}));
model.add(tf.layers.dense({units: 10, activation: 'softmax'}));

这个模型有一个输入形状为 (None, 784) 的单层神经元,它有 32 个神经元和 ReLU 激活函数,以及一个输出形状为 (None, 10) 的单层神经元,它有 10 个神经元和 softmax 激活函数。该模型可以用于图像分类或 MNIST 手写数字识别等任务。

编译模型

在使用 tf.LayersModel 类创建神经网络模型后,您需要调用 model.compile 方法来编译该模型,设置损失函数、优化器和评估指标等参数。以下是一个示例:

model.compile({loss: 'categoricalCrossentropy', optimizer: 'adam', metrics: ['accuracy']});

在这个示例中,我们将分类交叉熵作为损失函数,Adam 作为优化器,准确率作为评估指标。

训练模型

一旦您创建了一个编译好的模型,就可以使用 model.fit 方法对其进行训练。以下是一个示例:

const history = await model.fit(xTrain, yTrain, {epochs: 10, validationData: [xTest, yTest]});

在这个示例中,我们使用 xTrain 和 yTrain 作为训练数据,xTest 和 yTest 作为验证数据,训练模型 10 次,并将训练过程的历史记录保存在 history 变量中。您还可以使用 model.evaluate 方法对模型进行评估,或使用 model.predict 方法进行预测。

保存和加载模型

使用 tf.LayersModel 类创建的神经网络模型可以使用 model.save 方法保存到磁盘中,以便以后使用。以下是一个示例:

await model.save('localstorage://my-model');

这将把模型保存到浏览器的本地存储中,以便以后使用。您还可以使用 tf.loadLayersModel 方法从磁盘中加载模型,如下所示:

const model = await tf.loadLayersModel('localstorage://my-model');

这将从本地存储中加载模型,并将其赋值给 model 变量。

总结

tf.LayersModel 类是 Tensorflow.js 中创建、训练和评估神经网络模型的核心 API 之一。它支持许多常见的神经网络层和激活函数,并提供了一种简单而强大的方法来构建、训练和使用神经网络模型。如果您正在使用 Tensorflow.js 进行深度学习开发,强烈建议您掌握 tf.LayersModel 类。