项目简介
本项目通过构建卷积神经网络(CNN),实现对MNIST数据集中手写数字的自动分类。🎯 项目代码已开源,欢迎参考改进!
🧠 核心思路
数据预处理
- 加载并标准化60,000张训练图像与10,000张测试图像
- 将像素值缩放到[0,1]区间
- 使用
ImageDataGenerator
进行数据增强(旋转/平移)
模型架构
model = Sequential([ Conv2D(32, (3,3), activation='relu', input_shape=(28,28,1)), MaxPooling2D((2,2)), Conv2D(64, (3,3), activation='relu'), MaxPooling2D((2,2)), Flatten(), Dense(64, activation='relu'), Softmax() ])
CNN结构训练与评估
- 使用Adam优化器和交叉熵损失函数
- 验证集准确率可达99%+
- 可通过
model.evaluate()
查看测试结果
📚 扩展学习
📌 项目亮点
- 代码简洁,适合新手入门
- 包含完整的训练/验证/测试流程
- 支持实时图像预测(可点击此链接体验)
- 使用
matplotlib
展示混淆矩阵 📊
手写数字示例