# 云端数字识别 **Repository Path**: LambdaH/Digit-Recognition-EXpress ## Basic Information - **Project Name**: 云端数字识别 - **Description**: 简单的深度学习云部署项目,手写数字,通过云部署的深度算法模型计算出最可能的数字。(算是废案,因为感觉太简单换成了smolLM的代码补全功能) - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-06 - **Last Updated**: 2025-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 手写数字识别系统 (Digit Recognition System) ## 📖 项目简介 基于深度学习的手写数字识别Web应用,支持0-9数字的在线识别。采用现代化的微服务架构,整合了Spring Boot后端、Vue.js前端和Python推理服务,具备完整的本地开发、Docker容器化部署和云主机部署能力。 ## 🏗️ 项目结构 ``` Digit-Recognition-EXpress/ ├── frontend/ # Vue.js 3 + Vite前端应用 │ ├── Dockerfile # 多阶段构建Docker配置 │ ├── nginx.conf # Nginx配置 │ └── src/ # Vue源代码 ├── backend/ # Spring Boot后端服务 │ ├── Dockerfile # Maven构建Docker配置 │ ├── pom.xml # Maven依赖配置 │ └── src/ # Java源代码 ├── python/ # Python推理服务 │ ├── Dockerfile # Python服务Docker配置 │ ├── mnist_service.py # Flask推理服务 │ └── model/ # ONNX模型文件 ├── database/ # 数据库配置 │ ├── docker-compose.yml # MySQL数据库服务 │ └── init/ # 数据库初始化脚本 ├── nginx/ # Nginx反向代理 │ ├── Dockerfile # Nginx服务配置 │ └── nginx.conf # 代理规则 ├── docker-compose.yml # 主Docker Compose配置 ├── deploy-cloud.sh # 云部署脚本 └── README.md # 项目文档 ``` ## 🚀 快速开始 ### 方式一:本地开发环境部署 #### 环境要求 - Java 17+ - Node.js 16+ - Python 3.8+ - MySQL 8.0+ #### 启动步骤 1. **启动数据库服务** ```bash cd database docker-compose up -d ``` 2. **启动Python推理服务** ```bash cd python pip install -r requirements.txt python mnist_service.py ``` 3. **启动Spring Boot后端** ```bash cd backend mvn spring-boot:run ``` 4. **启动Vue.js前端** ```bash cd frontend npm install npm run dev ``` #### 访问地址 - 前端界面:http://localhost:3000 - 后端API:http://localhost:8080/api - Python推理服务:http://localhost:5000 ### 方式二:本地Docker完整部署 #### 标准部署(推荐) ```bash # 一键启动所有服务 docker-compose up --build # 后台运行模式 docker-compose up -d --build ``` #### 私有仓库部署(可选) > 注:如需使用私有云仓库加速镜像拉取,请修改Dockerfile中的基础镜像地址 **修改方法:** - 前端Dockerfile:将 `FROM node:22.18.0-alpine` 改为 `FROM docker.xuanyuan.run/library/node:22.18.0` - 后端Dockerfile:将 `FROM maven:3.8.6` 改为 `FROM docker.xuanyuan.run/library/maven:3.8.6` ```bash # 使用私有仓库部署 docker-compose up --build ``` ### 方式三:华为ECS云主机部署(宝塔面板) #### 环境准备 1. 购买华为ECS云服务器(Ubuntu 22.04) 2. 通过SSH登录云主机 #### 部署步骤 1. **安装宝塔面板** ```bash # Ubuntu系统(https://www.bt.cn/new/download.html) wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh && sudo bash install_panel.sh ssl251104 ``` 2. **通过宝塔面板安装Docker** - 登录宝塔面板(http://你的服务器IP:8888) - 进入"软件商店" → 搜索"Docker管理器" → 安装 3. **拉取项目代码** ```bash # 安装Git(基本上都安装了) apt install git -y # Ubuntu # 克隆项目 git clone cd Digit-Recognition-EXpress ``` 4. **配置防火墙和安全组** - 华为云控制台:安全组规则开放80、8080、5000端口 - 宝塔面板:安全 → 放行80、8080、5000端口 5. **执行Docker部署** ```bash # 一键部署所有服务 docker-compose up --build # 后台运行模式(推荐) docker-compose up -d --build ``` #### 部署验证 - 访问地址:http://你的服务器IP:80,访问前端 - 检查服务状态:`docker-compose ps` - 查看构建日志:`docker-compose logs --tail=50` - 如遇镜像拉取问题,可尝试配置国内镜像源 ## 🔧 技术栈 ### 前端技术 - Vue.js 3.3.0 + Vite 4.4.0 - Element Plus 2.3.0 UI组件库 - Axios 1.5.0 HTTP客户端 ### 后端技术 - Spring Boot 2.7+ - MySQL 8.0 数据库 - RESTful API设计 ### AI推理服务 - Python Flask框架 - ONNX Runtime推理引擎 - 预训练MNIST模型 ### 容器化技术 - Docker + Docker Compose - 多阶段构建优化 - Nginx反向代理 ## 📊 功能特性 - ✅ 手写数字0-9在线识别 - ✅ 响应式Web界面设计 - ✅ 微服务架构,易于扩展 - ✅ 完整的容器化部署方案 - ✅ 支持本地开发和云部署 - ✅ 健康检查和监控支持 ## 🛠️ 常见指令(备忘) ### 前端开发 ```bash cd frontend npm install # 安装依赖 npm run dev # 开发模式 npm run build # 生产构建 npm run preview # 预览构建结果 ``` ### 后端开发 ```bash cd backend mvn clean compile # 编译项目 mvn spring-boot:run # 运行应用 mvn test # 运行测试 ``` ### 数据库管理 ```bash # 进入MySQL容器 docker exec -it digit-recognition-mysql mysql -u root -p # 备份数据库 docker exec digit-recognition-mysql mysqldump -u root -p mnist_db > backup.sql ``` ## 🔍 故障排除 ### 常见问题 1. **Docker镜像拉取失败** - 检查网络连接 - 配置国内镜像源 - 使用完整镜像地址(如 `docker.io/mysql:8.0`) 2. **构建失败** - 清除Docker缓存:`docker system prune -a` - 重新构建:`docker-compose up --build` 3. **服务启动异常** - 检查端口占用 - 查看服务日志:`docker-compose logs [service-name]` ### 日志查看 ```bash # 查看所有服务日志 docker-compose logs # 查看特定服务日志 docker-compose logs frontend docker-compose logs backend docker-compose logs python-service ``` ## 🤝 贡献指南 - 我自己贡献的,哈哈 ## 📄 许可证 本项目仅用于教育和演示目的。 --- ## 💡 关键要点 1. **多环境支持**:完整的本地开发、Docker部署和云部署方案 2. **微服务架构**:前后端分离,服务独立部署 3. **生产就绪**:健康检查、日志管理、监控支持 4. **灵活配置**:支持标准Docker Hub和私有仓库镜像源 5. **易于扩展**:模块化设计,便于功能扩展和性能优化 **部署成功提示**:本项目已在华为云等云主机环境成功部署验证,具备良好的云环境兼容性。