推荐答案
// www.javascriptcn.com code example
import tensorflow as tf
from tensorflow.keras import layers
# 使用 tf.keras.Sequential 构建模型
model = tf.keras.Sequential([
layers.Dense(64, activation='relu', input_shape=(784,)),
layers.Dense(64, activation='relu'),
layers.Dense(10, activation='softmax')
])
# 编译模型
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
# 打印模型摘要
model.summary()本题详细解读
1. 使用 tf.keras.Sequential 构建模型
tf.keras.Sequential 是 TensorFlow 中用于构建顺序模型的高级 API。顺序模型是指模型中的每一层都只有一个输入和一个输出,并且层与层之间是线性堆叠的。
在代码中,我们通过传递一个层列表来构建模型:
model = tf.keras.Sequential([
layers.Dense(64, activation='relu', input_shape=(784,)),
layers.Dense(64, activation='relu'),
layers.Dense(10, activation='softmax')
])layers.Dense(64, activation='relu', input_shape=(784,)):这是模型的第一层,一个全连接层(Dense Layer),包含 64 个神经元,激活函数为 ReLU。input_shape=(784,)指定了输入数据的形状,这里假设输入是一个 784 维的向量(例如,28x28 的图像展平后的向量)。layers.Dense(64, activation='relu'):这是模型的第二层,同样是一个全连接层,包含 64 个神经元,激活函数为 ReLU。layers.Dense(10, activation='softmax'):这是模型的输出层,包含 10 个神经元,激活函数为 softmax,通常用于多分类问题。
2. 编译模型
在模型构建完成后,需要使用 compile 方法来配置模型的学习过程:
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])optimizer='adam':指定优化器为 Adam,这是一种常用的自适应学习率优化算法。loss='sparse_categorical_crossentropy':指定损失函数为稀疏分类交叉熵,适用于标签为整数的情况。metrics=['accuracy']:指定评估指标为准确率。
3. 打印模型摘要
最后,使用 model.summary() 打印模型的摘要信息,包括每一层的名称、输出形状和参数数量等。
model.summary()
输出示例:
// www.javascriptcn.com code example Model: "sequential" _________________________________________________________________ Layer (type) Output Shape Param # ================================================================= dense (Dense) (None, 64) 50240 _________________________________________________________________ dense_1 (Dense) (None, 64) 4160 _________________________________________________________________ dense_2 (Dense) (None, 10) 650 ================================================================= Total params: 55,050 Trainable params: 55,050 Non-trainable params: 0 _________________________________________________________________
通过这种方式,你可以快速构建和配置一个简单的神经网络模型。