如何基于python,利用MNIST数据集,训练多层前馈神经网络
时间: 2024-10-17 16:10:38 浏览: 22
python BP神经网络代码,数据集
在Python中使用MNIST数据集训练多层前馈神经网络(Feedforward Neural Network),通常我们会采用深度学习框架如TensorFlow或PyTorch。以下是使用Keras库(它是一个高级API,可以简化模型构建)的一个简单示例:
```python
# 导入所需库
from keras.datasets import mnist
from keras.models import Sequential
from keras.layers import Dense, Flatten
from keras.utils import to_categorical
# 加载MNIST数据集
(x_train, y_train), (x_test, y_test) = mnist.load_data()
# 数据预处理
x_train = x_train.reshape(-1, 28 * 28) / 255.0 # 归一化并展平像素
x_test = x_test.reshape(-1, 28 * 28) / 255.0
y_train = to_categorical(y_train, 10) # 将标签转换为one-hot编码
y_test = to_categorical(y_test, 10)
# 创建模型
model = Sequential([
Flatten(input_shape=(28, 28)), # 展平输入层
Dense(128, activation='relu'), # 隐藏层,ReLU激活函数
Dense(64, activation='relu'),
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))
# 评估模型
loss, accuracy = model.evaluate(x_test, y_test)
print(f'Test accuracy: {accuracy}')
#
阅读全文