推荐答案
-- -------------------- ---- ------- ------ ---------- -- -- ---- ---------------- ------ ------ - -- ------------------- ---- ----- - --------------------- ---------------- ------------------ -------------------- ---------------- ------------------- ---------------- --------------------- -- - ---- ------------------------------- --------------------------------------- --------------------- - ------ ---------------
本题详细解读
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()
输出示例:
-- -------------------- ---- ------- ------ ------------ ----------------------------------------------------------------- ----- ------ ------ ----- ----- - ----------------------------------------------------------------- ----- ------- ------ --- ----- ----------------------------------------------------------------- ------- ------- ------ --- ---- ----------------------------------------------------------------- ------- ------- ------ --- --- ----------------------------------------------------------------- ----- ------- ------ --------- ------- ------ ------------- ------- - -----------------------------------------------------------------
通过这种方式,你可以快速构建和配置一个简单的神经网络模型。