基于深度学习的日常服饰分类与推荐系统设计
PyTorch CNN 对 Fashion-MNIST 服饰图像 Top-5 分类,融合协同过滤与 Embedding 相似度的混合推荐引擎,含 120 件商品目录与评分收藏,适合深度学习推荐系统类毕业设计。
项目封面

项目概览
本系统基于 Fashion-MNIST 数据集训练 PyTorch CNN 服饰分类模型,实现上传图片 Top-5 类别识别与同类商品推荐;推荐引擎结合协同过滤、品类偏好、CNN Embedding 余弦相似与热门榜单,提供 120 件商品浏览、1–5 星评分、收藏夹与个人中心。Flask + SQLite + Bootstrap 架构,含管理后台训练曲线与各类别准确率展示,适合作为毕业设计中深度学习图像分类、个性化推荐与 Web 电商原型方向。
项目说明
基于深度学习的日常服饰分类与推荐系统设计
项目简介
本系统是一个基于深度学习的日常服饰分类与个性化推荐 Web 系统,使用 CNN 对 Fashion-MNIST 数据集进行训练,实现服饰图像智能分类,并通过协同过滤、内容偏好和 Embedding 相似度等多种策略提供个性化商品推荐。
功能模块
| 模块 | 功能说明 |
|---|---|
| 智能分类 | 上传服饰图片,CNN 模型输出 Top-5 类别标签与置信度概率,并推荐同类商品 |
| 商品浏览 | 120 件商品目录,支持分类筛选、关键词搜索、排序(评分/销量/价格),分页浏览与详情查看 |
| 个性推荐 | 混合推荐引擎:协同过滤 + 品类偏好 + CNN Embedding 相似 + 热门榜单,登录后推荐更精准 |
| 用户系统 | 注册、登录、Session 管理、个人中心(评分统计、收藏夹、品类偏好分布) |
| 评分收藏 | 1-5 星评分、收藏夹管理、浏览足迹记录 |
| 管理后台 | 模型训练指标、训练曲线、各类别准确率、商品统计、用户列表 |
标准版目录结构
python-deeper-study-clothes-fenlei-tuijian/
├── app.py # Flask 应用主入口,路由定义与 API 接口
├── requirements.txt # Python 依赖包清单
├── backend/
│ ├── auth.py # 用户认证、密码哈希、登录注册、权限装饰器
│ ├── config.py # 应用配置(路径、密钥、训练超参)
│ ├── database.py # SQLite 连接管理、建表、工具函数
│ ├── recommender.py # 推荐引擎(协同过滤、内容偏好、Embedding 相似、热门)
│ └── services.py # 业务服务层(商品、分类、评分、收藏、分类日志)
├── data/
│ ├── fashion_rec.db # SQLite 数据库文件(自动生成)
│ ├── FashionMNIST/ # Fashion-MNIST 数据集(自动下载)
│ ├── models/
│ │ ├── clothing_cnn.pth # 训练完成的 CNN 模型权重(自动生成)
│ │ └── training_metrics.json # 训练指标记录(自动生成)
│ ├── product_images/ # 商品图片(由种子脚本从数据集导出)
│ └── uploads/ # 用户上传的分类图片
├── ml/
│ ├── labels.py # Fashion-MNIST 类别定义与标签映射
│ ├── model.py # CNN 模型定义(ClothingCNN)
│ ├── predict.py # 推理服务(单张分类、Embedding 提取)
│ └── train.py # 训练脚本(数据加载、训练循环、评估)
├── scripts/
│ ├── seed_database.py # 数据库初始化(商品导出、用户与评分种子)
│ ├── setup_all.py # 一键训练 + 初始化
│ └── test_api.py # API 端到端测试
├── static/
│ ├── css/
│ │ └── style.css # 自定义样式
│ └── js/
│ ├── api.js # API 请求封装
│ └── app.js # 全局工具函数与导航状态
├── templates/
│ ├── base.html # 基础模板(导航栏、CDN 引用)
│ ├── index.html # 首页
│ ├── classify.html # 智能分类页
│ ├── products.html # 商品目录页
│ ├── product_detail.html # 商品详情页
│ ├── recommend.html # 个性推荐页
│ ├── login.html # 登录页
│ ├── register.html # 注册页
│ ├── profile.html # 个人中心页
│ ├── admin.html # 管理后台页
│ └── about.html # 系统设计说明页
├── 运行步骤必看/
│ └── window.md # Windows 运行步骤说明
├── mac_run.sh # macOS/Linux 一键启动脚本
├── window_run.bat # Windows 一键启动脚本
├── 训练手册.md # 模型训练手册
├── 项目说明.md # 本文件
└── README.md # 项目简介
技术栈
| 类别 | 技术 |
|---|---|
| 后端 | Python 3.12 + Flask 3.0 |
| 数据库 | SQLite 3 |
| 前端 | HTML5 + Bootstrap 5.3 + ECharts 5.5 + 原生 JavaScript |
| 深度学习 | PyTorch 2.2(CNN 图像分类) |
| 推荐算法 | 协同过滤 + 内容偏好 + CNN Embedding 余弦相似 |
| 数据处理 | numpy 1.26 + Pillow 10.4 + scikit-learn 1.5 |
环境要求
| 项目 | 要求 |
|---|---|
| Python | 3.12 |
| 操作系统 | Windows / macOS / Linux |
| 内存 | 建议 2GB 以上(模型训练时使用) |
| 磁盘 | 约 500MB(含依赖、数据集和数据库) |
| 浏览器 | Chrome / Firefox / Safari / Edge 现代版本 |
账号信息
| 角色 | 用户名 | 密码 |
|---|---|---|
| 管理员 | admin | admin123 |
| 普通用户 | demo | demo123 |
管理员拥有系统管理页面访问权限,可查看模型训练指标与用户统计。新注册用户默认为普通用户角色。
数据来源与真实性说明
数据集来源
本系统的分类模型使用 Fashion-MNIST 数据集训练,该数据集由 Zalando Research 开源发布,是学术界广泛使用的图像分类基准数据集。
- 官方地址:https://github.com/zalandoresearch/fashion-mnist
- 许可证:MIT License
- 获取方式:通过
torchvision.datasets.FashionMNIST自动下载,无需手动操作
商品数据生成
商品图片直接从 Fashion-MNIST 测试集样本导出(28×28 灰度图),每类选取 12 张共 120 件商品。商品价格、库存、销量等业务数据由种子脚本生成,遵循以下合理性约束:
| 数据项 | 生成规则 | 合理性校验 |
|---|---|---|
| 价格 | 按类别设定合理区间(如T恤59-199元,外套199-899元) | ✅ 价格范围符合真实市场 |
| 库存 | 随机生成 50-300 件 | ✅ 合理库存量 |
| 销量 | 随机生成 0 ~ (库存-10),确保销量 ≤ 库存 | ✅ 不会出现卖超现象 |
| 售罄率 | 平均约 53%,最高约 95% | ✅ 符合真实服饰行业水平 |
| 评分 | 1-5 星,70% 正向(3-5分),30% 负向(1-2.5分) | ✅ 评分分布近似真实 |
| 评论 | 40% 的评分附带真实评论内容 | ✅ 非空模板文案 |
| 描述 | 按类别随机选择真实服饰描述文案 | ✅ 非模板化机械文本 |
模型训练指标
| 指标 | 数值 | 合理性说明 |
|---|---|---|
| 训练轮次 | 8 epochs | 充分收敛 |
| 最佳测试准确率 | 90.61% | Fashion-MNIST CNN 标准水平(88-93%) |
| 训练历史 | 8 条完整 epoch 记录 | 管理后台可绘制训练曲线 |
| 衬衫类准确率 | 70.6% | Fashion-MNIST 已知难点(与T恤视觉相似) |
获取完整源码
技术分类
包含内容
适合方向
适合人工智能、软件工程专业毕业设计中 CNN 图像分类、协同过滤推荐与 Flask 全栈 Web 系统方向。
关于 AI源码
AI源码 整理计算机毕业设计、课程设计向的可运行项目参考,含说明文档与演示材料。完整源码请通过联系方式沟通获取。
相关推荐
查看全部 →
基于用户画像的食谱推荐系统
Flask+SQLite 食谱推荐 Web:问卷与活动数据构建用户向量,KMeans 聚类画像 + 规则过滤 + RandomForest 融合排序,输出可解释推荐,含 Hit@K/NDCG 离线评估,适合推荐系统毕业设计。

基于协同过滤的电影推荐系统设计与实现
Flask+SQLite 豆瓣电影推荐平台:scikit-surprise 实现 UserCF/ItemCF,三级冷启动降级、星级评分收藏、Pyecharts 后台图表与一键重训,含算法讲解页,适合推荐算法毕业设计。

基于机器学习的古籍文字识别与断句校正系统
Vue3+Flask 古籍 OCR 流水线:PaddleOCR 识文、文本整理勘校、BERT 句读标注与多格式导出,JWT 任务隔离,支持离线微调数据闭环,适合 OCR+NLP 毕业设计。

基于深度学习的音乐风格分类系统
Django+Vue2 音乐平台:Mel 频谱 CNN+Bi-LSTM 八类风格分类,含在线 MP3 播放、协同过滤推荐、热榜与 SimpleUI 管理后台,MySQL 预置 12 首歌曲,适合深度学习+Web 毕业设计。

微小异物检测与识别系统
YOLOv8 工业表面六类微小缺陷(龟裂、夹杂、点蚀等)检测平台,基于 NEU-DET 钢材数据集,支持单张/批量检测、在线训练与 PDF 报告导出,适合计算机视觉质检类毕业设计。

微小金属碎屑识别系统设计与实现
MobileNetV2 对 NEU-CLS 六类金属表面缺陷图像分类识别平台,输出置信度与 Top 概率分布,含在线训练与多维度统计图表,适合轻量级深度学习质检类毕业设计。