项目简介

本项目通过构建卷积神经网络(CNN),实现对MNIST数据集中手写数字的自动分类。🎯 项目代码已开源,欢迎参考改进!

🧠 核心思路

  1. 数据预处理

    • 加载并标准化60,000张训练图像与10,000张测试图像
    • 将像素值缩放到[0,1]区间
    • 使用ImageDataGenerator进行数据增强(旋转/平移)
  2. 模型架构

    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结构

  3. 训练与评估

    • 使用Adam优化器和交叉熵损失函数
    • 验证集准确率可达99%+
    • 可通过model.evaluate()查看测试结果

📚 扩展学习

📌 项目亮点

  • 代码简洁,适合新手入门
  • 包含完整的训练/验证/测试流程
  • 支持实时图像预测(可点击此链接体验)
  • 使用matplotlib展示混淆矩阵 📊

手写数字示例