mnist手写数字matable代码
时间: 2024-12-11 09:34:22 浏览: 12
MNIST数据集是一个常用的手写数字图像识别的数据集,常用于机器学习入门示例。在Python中,我们可以使用深度学习库如TensorFlow或PyTorch来处理这个数据集。下面是一个简单的例子,使用Keras库(现在已经被TensorFlow集成)创建一个基本的卷积神经网络(CNN)来对MNIST数据进行分类:
```python
# 导入所需的库
from keras.datasets import mnist
from keras.models import Sequential
from keras.layers import Dense, Conv2D, Flatten
# 加载MNIST数据集
(x_train, y_train), (x_test, y_test) = mnist.load_data()
# 数据预处理
x_train = x_train.reshape(-1, 28, 28, 1).astype('float32') / 255
x_test = x_test.reshape(-1, 28, 28, 1).astype('float32') / 255
y_train = keras.utils.to_categorical(y_train, 10)
y_test = keras.utils.to_categorical(y_test, 10)
# 创建模型
model = Sequential([
Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)),
MaxPooling2D((2, 2)),
Flatten(),
Dense(128, activation='relu'),
Dense(10, activation='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}')
```
在这个代码中,我们首先加载数据,然后进行必要的预处理(归一化和one-hot编码)。接着,我们构建了一个简单的卷积神经网络结构,通过训练使其能够识别MNIST数字。最后,我们评估了模型在测试集上的性能。
阅读全文