# machine learning project **Repository Path**: T_cold/machine-learning-project ## Basic Information - **Project Name**: machine learning project - **Description**: 模拟teachablemachine.创建的人工智能训练平台,目的是帮助学生理解机器学习的基本概念,参数对模型训练的影响。该项目是借助cursor开发的。 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-01-27 - **Last Updated**: 2025-04-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # my-ai-project ### 本项目主要参考的网站是teachablemachine.withgoogle.com。希望开发一个方便部署,可视化的供教师教学用的AI模型训练系统。因为购买算力对学校来讲是一件比较困难的事情,所以还是需要能够部署到本地的训练平台,目前训练调用的是CPU。 ### 实现了图像分类任务(如猫狗分类),但是训练的效果较差。teachablemachine训练出来的模型,准确率在90%以上。并且非常方便的可以应用到网页中。这也是下一步需要实现的功能。 ![alt text](训练设置截图.jpg) ### 我本人是一名信息科技教师,借助cursor边学边开发,希望可以给大家带来启发。欢迎提出意见和建议。联系:284516189@qq.com ### 目前存在的问题: #### 报错问题纠正,内存不足如何优化和提示用户。 #### 训练数据如何优化,训练数据不足如何提示用户。 #### 训练结果如何展示,训练结果如何保存。 #### 训练结果如何测试,测试结果如何展示。 #### 训练结果如何导出,导出结果如何保存。 #### 训练结果如何部署,部署结果如何展示。 #### 训练使用CPU还是GPU,如何选择。 ## 项目设置 ``` npm install ``` ### 项目启动 ``` npm run serve ``` ### Compiles and minifies for production ``` npm run build ``` ### Lints and fixes files ``` npm run lint ``` ### Customize configuration See [Configuration Reference](https://cli.vuejs.org/config/). #图像分类模型区别mobileNet ResNet EfficientNet 区别是什么? # AI模型训练系统 ## 项目简介 一个基于网页端的AI模型训练系统,允许用户通过简单的界面训练机器学习模型,用于图像分类任务(如猫狗分类)。系统提供直观的用户界面,支持实时训练和测试,并能够导出训练好的模型。 ## 功能特性 ### 用户界面 - 主页:展示系统简介和使用说明 - 训练页面:用户上传数据、训练模型和测试模型的界面 - 结果页面:展示训练结果和模型性能 ### 数据管理 - 支持多文件图像上传 - 自定义分类标签创建 - 图像预览和缩略图显示 - 删除和重新上传功能 ### 模型训练 - 预定义模型架构(如MobileNet) - 可配置训练参数(epochs、batch size) - 实时训练监控,显示损失和准确率曲线 - 支持手动中断训练 ### 模型测试 - 通过摄像头或上传图像进行实时测试 - 显示分类结果和置信度 ### 模型导出 - 支持导出为TensorFlow.js格式 - 模型本地下载功能 ## 技术栈 ### 前端技术 - 框架:Vue.js - UI库:Ant Design - 机器学习库:TensorFlow.js - 摄像头集成:WebRTC ### 后端技术 - 框架:Node.js + Express - 存储:MongoDB/Firebase ### 部署方案 - 云平台:AWS/谷歌云/Vercel - 容器化:Docker ## 非功能需求 ### 性能要求 - 页面加载时间不超过2秒 - 支持100+并发用户 ### 安全性 - 保护用户数据隐私 - 确保导出模型不包含用户数据 ### 可扩展性 - 支持扩展更多模型架构 - 未来支持更多任务类型(如音频分类) - 可扩展的用户容量 ## 开发计划 ### 前端开发 #### 框架设置 - 使用 Vue.js 构建用户界面 - 使用 Ant Design 组件库确保一致的外观和风格 #### 图像上传和预览 - 实现支持多文件上传的组件 - 显示上传图像的缩略图 - 提供删除和重新上传功能 #### 训练界面 - 创建训练参数配置表单(epochs、batch size等) - 使用图表实时显示训练指标(损失、准确率) #### 测试界面 - 支持通过摄像头或上传图像进行测试 - 展示分类结果和置信度分数 #### 模型导出 - 提供 TensorFlow.js 格式模型下载 ### 后端开发 #### 框架设置 - 使用 Node.js + Express 构建服务端 - 使用 MongoDB/Firebase 存储数据 #### 模型训练 - 实现训练过程控制和监控接口 - 集成 TensorFlow.js 进行模型训练和推理 #### 安全性 - 实现数据隐私保护机制 - 添加 API 身份验证 ### 部署方案 #### 云服务 - 使用 AWS/谷歌云/Vercel 部署 - Docker 容器化部署 ### 具体实现步骤 #### 前端实现 1. 初始化 Vue 项目 2. 安装配置 Ant Design 3. 实现路由(主页、训练、结果页面) 4. 开发图像上传组件 - 支持多文件上传 - 网格布局展示预览 - 删除功能 5. 开发训练页面 - 训练参数表单 - 训练指标实时展示 - 训练控制功能 6. 开发测试页面 - 摄像头接入 - 图像上传测试 - 结果展示 #### 后端实现 1. 搭建 Node.js 服务器 2. 实现数据接口 - 图像上传 - 训练控制 - 模型导出 3. 集成 TensorFlow.js #### 部署上线 1. Docker 容器化 2. 云平台部署配置 3. 性能优化和安全加固