tensorflow2根据手写数字识别数据集完成神经网络分类器的搭建
时间: 2023-05-11 07:05:15 浏览: 120
非常感谢您的提问!根据手写数字识别数据集,我们可以使用tensorflow2来搭建神经网络分类器。以下是一个简单的代码示例:
```
import tensorflow as tf
from tensorflow.keras import layers
# 加载手写数字识别数据集
mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
# 数据预处理
x_train, x_test = x_train / 255.0, x_test / 255.0
# 搭建神经网络模型
model = tf.keras.models.Sequential([
layers.Flatten(input_shape=(28, 28)),
layers.Dense(128, activation='relu'),
layers.Dropout(0.2),
layers.Dense(10)
])
# 编译模型
model.compile(optimizer='adam',
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
metrics=['accuracy'])
# 训练模型
model.fit(x_train, y_train, epochs=5)
# 评估模型
model.evaluate(x_test, y_test, verbose=2)
```
这个模型使用了一个包含两个Dense层的神经网络,其中第一个层包含128个神经元,使用ReLU激活函数,第二个层包含10个神经元,用于输出分类结果。我们还添加了一个Dropout层,以防止过拟合。最后,我们使用Adam优化器和SparseCategoricalCrossentropy损失函数来编译模型,并在训练数据上进行了5个epoch的训练。最后,我们使用测试数据评估了模型的性能。
阅读全文