怎么登陆建设工程网站php网站开发要学什么软件
Keras+Flask手写数字识别Web应用
一个基于Keras深度学习框架和Flask Web框架的手写数字识别Web应用,使用MNIST数据集训练,可以识别用户手写的数字(0-9)。
项目概述
本项目实现了一个Web界面,用户可以在画板上手写数字,系统会实时识别并返回预测结果。后端使用Keras构建的卷积神经网络(CNN)模型,前端使用HTML5 Canvas实现手写板功能。


功能特点
- 使用Keras构建的CNN模型进行手写数字识别
- 基于Flask的Web界面,支持用户手写输入
- HTML5 Canvas实现的手写板功能
- 实时数字识别和结果展示
- 使用Redis进行访问统计
- 响应式设计,适配不同设备
技术栈
-  后端: - Flask:Web框架
- TensorFlow/Keras:深度学习框架
- Redis:访问统计和数据存储
 
-  前端: - HTML5 Canvas:手写板实现
- jQuery:前端交互
- Bootstrap:UI框架
 
模型架构
该项目使用了一个卷积神经网络(CNN)模型,具有以下结构:
-  第一组卷积层 - 32个5x5卷积核,SAME填充,ReLU激活
- 32个5x5卷积核,SAME填充,ReLU激活
- 2x2最大池化
- 25%的Dropout
 
-  第二组卷积层 - 64个3x3卷积核,SAME填充,ReLU激活
- 64个3x3卷积核,SAME填充,ReLU激活
- 2x2最大池化,步长为2
- 25%的Dropout
 
-  全连接层 - Flatten层
- 256个神经元,ReLU激活
- 25%的Dropout
- 10个神经元输出层,Softmax激活
 
模型在MNIST数据集上训练,准确率超过99%。
安装指南
前置要求
- Python 3.7+
- Redis
安装步骤
1 创建并激活虚拟环境:
python -m venv venv
source venv/bin/activate  # Linux/Mac
venv\Scripts\activate     # Windows
- 安装依赖:
pip install -r requirements.txt
-  确保Redis服务器正在运行 
-  启动应用 
python app.py
- 访问应用
 在浏览器中打开 http://localhost:5000
使用方法
- 在画布上用鼠标或触控笔绘制一个数字(0-9)
- 点击"识别"按钮提交图像进行识别
- 系统将显示识别结果和置信度
- 使用"清除"按钮重置画布
项目结构
keras_mnist-flask/
├── app.py                # Flask应用主文件
├── redis_util.py         # Redis工具函数
├── requirements.txt      # 项目依赖
├── model/
│   ├── model.json        # 模型架构
│   ├── model.keras       # 训练好的模型
│   ├── train.py          # 模型训练脚本
│   └── __init__.py
├── static/
│   ├── index.js          # 前端JavaScript
│   └── jquery-3.2.0.min.js
└── templates/└── index.html        # 前端HTML模板
API接口
识别手写数字
- URL: /api/mnist
- 方法: POST
- 请求体:{"image": "base64编码的图像数据" }
- 响应:{"code": 0,"data": {"num": "预测的数字","probability": "置信度"} }
获取访问统计
- URL: /api/visit
- 方法: GET
- 响应:{"code": 0,"data": {"all": "总访问次数","today": "今日访问次数"} }
自定义配置
Redis配置
在redis_util.py文件中修改Redis连接配置:
REDIS_HOST = "127.0.0.1"  # Redis服务器地址
REDIS_PASSWORD = ""       # Redis密码,为空表示无密码
服务器配置
在app.py文件中修改Flask服务器配置:
if __name__ == '__main__':app.run(host='0.0.0.0', port=5000, debug=True)
训练自己的模型
如果你想重新训练模型,可以运行:
cd model
python train.py
训练完成后,模型将保存在model目录中。
项目地址:https://github.com/yizhishiliu/keras_mnist-flask
