本仓库包含深度学习课程中的一系列实验和课程设计项目,涵盖从基础神经网络到前沿计算机视觉架构的完整学习路径。
所有项目基于 Python + PyTorch 实现,部分基础实验使用纯 NumPy 手写实现。
| 项目 | 说明 | 技术要点 |
|---|---|---|
| mnist | 手写数字识别 | 3层全连接网络,NumPy 手写 + PyTorch 两种实现 |
| predict-sale | 广告销售额预测 | 线性回归、SGD 手写实现 + 小型神经网络 |
| image-zip | 图像压缩 | SVD 奇异值分解,纯 NumPy 实现 |
| fashion-mnist | Fashion MNIST 分类 | 入门 CNN(2层卷积) |
| 波士顿房价预测 | 波士顿房价回归 | MLP 回归任务 |
| 词嵌入 | 中文词向量 | Embedding + LSTM 文本分类 |
| 项目 | 说明 | 技术要点 |
|---|---|---|
| LSTM股票价格预测 | 股票收盘价预测 | LSTM 序列建模,滑动窗口 |
| 航空旅客出行人数预测 | 旅客量预测 | LSTM 多步时序预测 |
| 项目 | 说明 | 技术要点 |
|---|---|---|
| captcha1 | 4字符验证码识别 | CNN 多标签分类 |
| captcha2 | 6字符验证码识别 | 深层 CNN + Dropout + 学习率调度 |
| 猫狗图像分类 | 猫狗二分类 | 3层 CNN 图像分类器 |
| sugarcane-disease-recognize | 甘蔗病害识别 | 自定义 CNN + ResNet50 迁移学习 |
| 项目 | 说明 | 技术要点 |
|---|---|---|
| 语义分割 | U-Net 图像分割 | 全卷积编解码器架构 |
| 生成对抗网络 | 手写数字生成 | GAN + CGAN(条件生成) |
| 人脸识别 | 人脸识别系统 | 孪生网络 + MobileFaceNet + ArcFace + MTCNN |
| 目标检测 | 道路目标检测 | 自定义 CNN 直接回归边界框 |
| 课程设计 | 肿瘤检测系统 | Faster R-CNN + ResNet50-FPN |
- Python 3.x
- PyTorch
- torchvision
- NumPy
- OpenCV (cv2)
- scikit-learn
- matplotlib
- tqdm
- Pillow
- jieba(词嵌入项目)
本仓库仅包含代码,不包含数据集和模型权重文件。各项目所需数据集如下:
| 项目 | 数据集 | 获取方式 |
|---|---|---|
| mnist | MNIST | torchvision.datasets.MNIST 或 官网下载 |
| fashion-mnist | Fashion-MNIST | torchvision.datasets.FashionMNIST 或 GitHub |
| predict-sale | advertising.csv | 已包含在仓库中 |
| 波士顿房价预测 | Boston Housing | scikit-learn 或 CSV 格式 |
| captcha1 / captcha2 | 自建验证码数据集 | 使用 captcha 库自行生成 |
| 猫狗图像分类 | Dogs vs Cats | Kaggle |
| 语义分割 | 自定义图像+掩码 | 自建数据集 |
| 生成对抗网络 | MNIST | torchvision.datasets.MNIST |
| 人脸识别 | ORL 人脸数据库 | AT&T |
| 目标检测 | 道路标注数据 | 自建数据集(含 XML 标注) |
| 甘蔗病害识别 | 甘蔗叶片图像 | 自建数据集 |
| 课程设计 | 肿瘤检测 COCO 数据集 | 自建数据集 |
每个项目目录遵循统一的结构模式:
项目名称/
├── main.py # 主训练/推理脚本
├── nn.py / model.py # 网络结构定义
├── model.py / model_wrapper # 模型封装类(train/evaluate/predict/save/load)
├── data_preprocessing.py # 数据加载和预处理
├── dataset/ # 数据集目录(已 gitignore)
└── *.pth # 模型权重文件(已 gitignore)
本项目仅用于学习交流。