mnist 手写数字识别多层全连接神经网络建模代码
时间: 2024-10-15 11:00:32 浏览: 25
Mnist手写数字识别通常使用深度学习技术,其中全连接神经网络是一个常见的模型。这里简要介绍一种基于Python的TensorFlow库构建一个多层全连接神经网络的示例。注意,完整的代码会比较长,下面是一个简化版的模型构建过程:
```python
import tensorflow as tf
from tensorflow.keras import layers
# 加载MNIST数据集
(x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()
# 数据预处理
x_train = x_train.reshape(-1, 28*28).astype('float32') / 255
x_test = x_test.reshape(-1, 28*28).astype('float32') / 255
y_train = tf.keras.utils.to_categorical(y_train, 10)
y_test = tf.keras.utils.to_categorical(y_test, 10)
# 创建模型
model = tf.keras.Sequential([
layers.Dense(64, activation='relu', input_shape=(784,)), # 输入层
layers.Dense(64, activation='relu'), # 隐藏层
layers.Dropout(0.2), # 防止过拟合
layers.Dense(10, activation='softmax') # 输出层,softmax用于多分类
])
# 编译模型
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
# 训练模型
model.fit(x_train, y_train, epochs=10, validation_data=(x_test, y_test))
# 评估模型
test_loss, test_acc = model.evaluate(x_test, y_test)
print(f"Test accuracy: {test_acc}")
阅读全文