# digit-recognition **Repository Path**: da9527/digit-recognition ## Basic Information - **Project Name**: digit-recognition - **Description**: 基于混合专家模型(Mixture of Experts)的手写数字识别,使用 PyTorch 实现 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-12-30 - **Last Updated**: 2024-12-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 手写数字识别 基于混合专家模型(Mixture of Experts)的手写数字识别,使用 PyTorch 实现 ## 功能特点 - 实时手写数字识别 - 混合专家模型架构 - 支持 GPU 加速 - 交互式绘图界面 - 模型训练与评估 - JIT 模型优化 ## 系统要求 - Python 3.8+ - PyTorch 2.0+ - CUDA (可选,用于 GPU 加速) - tkinter (GUI 界面) - PIL (图像处理) - numpy - tqdm (进度显示) ## 安装说明 1. 克隆仓库: ```bash git clone https://gitee.com/da9527/digit-recognition.git cd digit-recognition ``` 2. 安装依赖: ```bash pip install -r requirements.txt ``` ## 使用方法 ### 训练模型 ```bash python train.py [--resume] [--epochs 50] [--batch-size 128] [--num-experts 5] ``` 参数说明: - `--resume`: 从上次训练断点继续训练 - `--epochs`: 训练轮数 (默认: 50),训练时有早停机制 - `--batch-size`: 批次大小 (默认: 128) - `--num-experts`: 专家模型数量 (默认: 5) 训练结果: ![训练结果](./images/training_history.png) ### 使用识别程序 ```bash python predict.py ``` 页面展示: ![页面展示](./images/show.png) ### 快捷键 - `Ctrl+Z`: 撤销 - `Enter`: 识别 - `Ctrl+L`: 清除最后一笔 - `Esc`: 清空画布 - `Ctrl+B`: 黑色画笔 - `Ctrl+R`: 红色画笔 ## 项目结构 ``` . ├── config.py # 配置文件 ├── train.py # 训练脚本 ├── predict.py # 预测/GUI程序 ├── runs/ # 模型输出目录 │ └── best_model.pth # 最佳模型 ├── data/ # 数据目录 └── README.md # 说明文档 ``` ## 模型架构 - 混合专家模型 (MoE) - 5个专家网络 - 动态路由机制 - 卷积神经网络架构 ## 许可证 MIT License ## 贡献指南 1. Fork 项目 2. 创建特性分支 3. 提交更改 4. 推送到分支 5. 创建 Pull Request