📅  最后修改于: 2023-12-03 14:47:55.818000             🧑  作者: Mango
TensorFlow.js 是一个流行的 JavaScript 库,它让您可以使用 TensorFlow 框架来构建和训练机器学习模型。其中,tf.Sequential 类是 TensorFlow.js 中的一个重要的类,它用来创建一个简化版的神经网络模型。在这篇文章中,我们将会介绍 tf.Sequential 类的 .summary() 方法。
tf.Sequential 类是 TensorFlow.js 中的一个重要的类,它使得机器学习模型的构建变得非常容易。Sequential 类是一个具有一系列层的容器,这些层按照顺序连接在一起,构成一个完整的神经网络模型。
tf.Sequential 类中的 .summary() 方法是一个很有用的方法,它可以展示出该神经网络模型的层的结构和参数数量,帮助程序员更好地理解和调试神经网络模型。
tf.Sequential 类的 .summary() 方法的语法如下:
tf.Sequential.summary([lineLength], [positions], [printFn])
lineLength
表示每行的字符数,默认为 80。
positions
表示将展示哪些数据,包括 total_params
, trainable_params
和 non-trainable_params
,默认为 ["total_params", "trainable_params"]
。
printFn
表示将打印 summary 信息的函数,默认为 console.log
。
total_params
表示模型中所有参数的数量。
trainable_params
表示可以被训练的参数的数量。
non-trainable_params
表示不能被训练的参数的数量。
在下面的示例中,我们来创建一个 tf.Sequential 类的实例,并使用 .summary() 方法来展示该神经网络模型的层的结构和参数数量。
const model = tf.sequential({
layers: [
tf.layers.dense({
inputShape: [784],
units: 32,
activation: 'relu'
}),
tf.layers.dense({
units: 10,
activation: 'softmax'
})
]
});
model.summary();
输出内容如下:
_________________________________________________________________
Layer (type) Output shape Param #
=================================================================
dense_Dense1 (Dense) [null,32] 25120
_________________________________________________________________
dense_Dense2 (Dense) [null,10] 330
=================================================================
Total params: 25,450
Trainable params: 25,450
Non-trainable params: 0
_________________________________________________________________
通过上面的输出结果,我们可以看到该神经网络模型有两个层,第一个层是一个 784 -> 32 的全连接层,第二个层是一个 32 -> 10 的全连接层。其中,该神经网络模型的总参数数为 25,450,可以被训练的参数数为 25,450,不能被训练的参数数为 0。
tf.Sequential 类中的 .summary() 方法是一个非常有用的方法,它可以帮助程序员更好地理解和调试神经网络模型。通过 .summary() 方法展示出神经网络模型的层的结构和参数数量,可以让程序员更加深入的了解神经网络模型是如何运作的,从而更好地进行模型的调整和优化。