DL-Hub
DL-Hub 是一个基于 PyTorch 的深度学习统一学习项目,旨在通过“从零手写”的方式,帮助用户循序渐进地掌握机器学习与大模型技术。它解决了传统教程中代码风格杂乱、环境配置困难以及理论难以落地等痛点,提供了一套风格统一、可复现的训练脚手架,让学习者不仅能跑通代码,更能真正理解并修改模型。
该项目非常适合希望系统提升实战能力的开发者、人工智能领域的研究人员以及高校学生。无论是初学者还是进阶专家,都能在这里找到适合的学习路径。DL-Hub 涵盖了视觉、自然语言处理、图神经网络、3D 点云、生成模型、多模态、大语言模型及联邦学习等八大核心领域,内置了超过 2500 种模型架构和 76 节精选课程。
其独特的技术亮点在于极致的易用性与全面性:所有课程均支持“离线冒烟测试”,无需下载庞大数据集即可在 2 分钟内验证环境并跑通流程;同时提供了从 NumPy 基础算法手写到大模型论文笔记的全栈资源。通过标准化的代码结构与详细的文档,DL-Hub 让深度学习的学习过程变得清晰、高效且充满乐趣。
使用场景
某高校人工智能实验室的研究生团队正试图复现一篇关于“多模态大模型在医疗影像诊断中应用”的前沿论文,需要快速搭建从基础 CNN 到最新 VLM 架构的实验环境。
没有 DL-Hub 时
- 代码风格割裂:团队成员各自从 GitHub 零散下载不同作者的代码,导致数据加载、训练循环和评估逻辑五花八门,合并代码时冲突不断,调试成本极高。
- 环境配置噩梦:每个项目依赖不同的 PyTorch 版本和第三方库,新人入职第一周往往全花在解决报错和配置环境中,无法立即开始算法研究。
- 复现门槛过高:想要对比经典模型(如 ResNet)与最新架构(如 ViT 或 LLaVA),需手动重写大量底层代码,且缺乏统一的“冒烟测试”机制,往往运行数小时后才发现数据管道有误。
- 知识断层严重:从基础机器学习到大模型的理论跨度大,缺乏循序渐进的实战代码指引,学生难以理解复杂架构的具体实现细节。
使用 DL-Hub 后
- 统一工程标准:DL-Hub 提供了覆盖视觉、NLP、多模态等 8 大领域的统一训练脚手架,所有 2500+ 模型架构均采用一致的代码风格,团队成员可无缝切换和协作。
- 极速启动验证:利用
--dataset fake功能,无需下载任何真实数据集即可在 2 分钟内跑通整个训练流程,迅速验证环境配置和代码逻辑的正确性。 - 按需灵活扩展:内置的 Model Zoo 让研究者能直接调用从 LeNet 到 LLaVA 的成熟架构,只需修改少量配置即可进行对比实验,将精力集中在核心算法创新上。
- 系统化学习路径:通过 76 节课程和 8 条学习轨道,团队成员能从零手写代码逐步过渡到复杂的大模型实战,真正实现了“跑得通、改得动、能验收”。
DL-Hub 通过标准化的工程体系和丰富的模型库,将原本数周的环境搭建与代码重构工作压缩至小时级,让研发团队能专注于真正的算法创新。
运行环境要求
- Linux
- macOS
- Windows
- 非必需
- 支持 CPU、NVIDIA GPU (CUDA) 及 Apple Silicon (MPS)
- 具体型号和显存未说明,可根据任务规模调整
未说明

快速开始
DL-Hub
从零手写,循序渐进 — PyTorch 深度学习统一学习项目
76 Lessons · 8 Learning Tracks · 27 ML Algorithms · 2500+ Model Zoo Architectures · 126 Test Files
统一代码风格、统一训练脚手架、统一运行方式
让学习者真正能 "循序渐进跑通 → 改得动 → 能验收"
Quick Start · Learning Tracks · Model Zoo · Federated Zoo · ML Algorithms · Docs
What You'll Build
|
Vision 从 LeNet 到 ViT, 736 架构 · 图像分类 / 检测 / 分割 |
NLP 从词嵌入到 Transformer, 813 架构 · 分类 / NER / 阅读理解 |
GNN 从 GCN 到 PinSAGE, 图分类 / 节点嵌入 / 推荐 |
Point Cloud 从 PointNet 到 PCT, 64 架构 · 分类 / 部件分割 / 重建 / 15 种自监督 |
|
Generative VAE & GAN, 手写数字重建与生成 |
Multimodal 从 CLIP 到 LLaVA,20 VLM 架构 视觉问答 / 目标检测 / 时序定位 |
LLM Causal LM + 资源库, 50+ 论文笔记 |
Federated 36 联邦策略 差分隐私 / 安全聚合 / 个性化 |
① Vision — CNN / ViT 图像分类 · ② NLP — 文本分类 / NER · ③ GNN — 图神经网络 · ④ Point Cloud — 3D 点云 · ⑤ Generative — VAE / GAN · ⑥ Multimodal — VLM 视觉语言 · ⑦ LLM — 大语言模型 · ⑧ Federated — 联邦学习
Contents
- What You'll Build
- Quick Start
- Prerequisites
- Learning Path
- Learning Tracks
- Foundations · Vision · NLP · GNN · Point Cloud · Generative · LLM · Multimodal
- Model Zoo
- Federated Learning Zoo
- NumPy ML Algorithms
- Optimization Toolkit
- Documentation
- Design Philosophy
- Contributing
- Citation
Quick Start
[!TIP] 所有 lesson 均支持
--dataset fake离线冒烟 — 无需下载任何数据集,2 分钟即可跑通。
# 克隆仓库
git clone https://github.com/skygazer42/DL-Hub.git
cd DL-Hub
pip install -r requirements.txt
# 仓库级冒烟测试(验证环境)
python scripts/smoke_check.py
# 跑通第一个 lesson
python -m tracks.vision.lesson_01_mnist_lenet.train \
--dataset fake --epochs 1 \
--max-train-batches 2 --max-eval-batches 2
列出所有可运行的 lesson:
python scripts/run_lesson.py --list
统一 CLI 参数(所有 lesson 通用)
| 参数 | 说明 | 示例 |
|---|---|---|
--dataset |
数据模式 | fake (离线冒烟) / toy / real |
--epochs |
训练轮数 | 10 |
--batch-size |
批大小 | 32 |
--learning-rate |
学习率 | 0.001 |
--seed |
随机种子 | 42 |
--device |
计算设备 | cpu / cuda / mps / auto |
--max-train-batches |
限制训练 batch 数 | 2 |
--max-eval-batches |
限制评估 batch 数 | 2 |
Prerequisites
[!NOTE] 本项目适合有一定 Python 基础的学习者。以下是各 track 的先修建议。
| Track | 先修知识 |
|---|---|
| Foundations | Python 基础、线性代数入门 |
| Vision | Foundations track + 卷积直觉 |
| NLP | Foundations track + 文本处理基础 |
| GNN | Foundations track + 图论基本概念 |
| Point Cloud | Vision track + 3D 几何直觉 |
| Generative | Vision track + 概率论基础 |
| LLM | NLP track + Transformer 机制 |
| Multimodal | Vision track + NLP track + 注意力机制 |
Learning Path
不知道从哪开始?根据你的时间选择一条学习路线:
Step 1–8 对应:Foundations → Vision → NLP → GNN → Point Cloud → Generative → LLM → Multimodal
| 路线 | 时间 | Lessons | 内容 |
|---|---|---|---|
| Weekend Sprint | 1-2 天 | 6 lessons | Foundations (2) → Vision lesson 01-02 → Generative lesson 01 → LLM lesson 01 快速建立从张量到生成模型的完整直觉 |
| Two-Week Deep Dive | 2 周 | 18 lessons | Foundations (2) → Vision (5) → NLP (4) → GNN (3) → Generative (2) → LLM (1) → Point Cloud (1) 覆盖所有 track 的核心 lesson |
| Full Curriculum | 6-8 周 | 76 lessons | 按顺序完成全部 8 个 track 的所有 lesson 系统掌握从经典 ML 到前沿深度学习的完整技能树 |
[!TIP] 推荐顺序:Foundations → Vision → NLP → GNN → Point Cloud → Generative → LLM → Multimodal。每个 lesson 都有独立的 README 说明目标、先修和验收标准。
课程及代码合集
| Foundations 2 lessons |
Vision 14 lessons |
NLP 7 lessons |
GNN 11 lessons |
Point Cloud 23 lessons |
Generative 2 lessons |
LLM 1 lesson |
Multimodal 16 lessons |
⚡ 1. 基础
张量、自动求导、训练循环入门 — 所有后续 track 的基石。
| 序号 | 项目 | 代码文档 | 核心概念 |
|---|---|---|---|
| 1 | 张量操作 & Autograd 机制 | lesson_01_tensors | torch.Tensor, backward(), 计算图 |
| 2 | 从零实现线性回归 | lesson_02_linear_regression | 梯度下降, 损失函数, 参数更新 |
👁️ 2. 视觉
从 MNIST 入门到目标检测、语义分割、Vision Transformer。
| 序号 | 项目 | 代码文档 | 核心概念 |
|---|---|---|---|
| 1 | LeNet-5 图像分类 | mnist_lenet | 卷积层, 池化, 全连接 |
| 2 | MLP 图像分类 | mnist_mlp | 多层感知机, Flatten |
| 3 | AlexNet 图像分类 | mnist_alexnet | 深层卷积网络, Dropout |
| 4 | FCOS 目标检测 | synthetic_detection_fcos | Anchor-free, FPN, 回归头 |
| 5 | ViT 图像分类 | vit_toy_classification | Patch Embedding, Self-Attention |
| 6 | Swin Transformer 图像分类 | swin_toy_classification | Window Attention, Shifted Window |
| 7 | 关键点回归 | toy_keypoint_regression | 坐标回归, Heatmap |
| 8 | UNet 语义分割 | synthetic_segmentation_unet | Encoder-Decoder, Skip Connection |
| 9 | 多 Backbone 对比 | cnn_backbones_toy_classification | 统一接口, 特征提取 |
| 10 | 图像去噪(多模型) | synthetic_denoising | 合成噪声建模, 去噪回归 |
| 11 | YOLACT 实例分割 | synthetic_instance_segmentation_yolact | Prototype + Coefficients |
| 12 | YOLO 风格目标检测 | synthetic_detection_yolo | Grid/Objectness + BBox |
| 13 | 行人检测(FCOS) | synthetic_pedestrian_detection_fcos | Anchor-free 检测头 |
| 14 | 视频多目标跟踪(MOT) | video_mot_basics | 多目标轨迹预测, Presence + IoU |
支持的 Vision Backbones(208 算法族 / 736 架构 ID)
| 类别 | 代表架构 |
|---|---|
| 经典 CNN | AlexNet, VGG, GoogLeNet, ResNet, DenseNet, SqueezeNet |
| 高效网络 | MobileNet v1-v4, EfficientNet, GhostNet v1/v2, ShuffleNet, MNASNet, FBNet, MicroNet |
| 注意力 CNN | SENet, CBAM, BAM, ECA-Net, SK-Net, CoordAtt, SimAM, Triplet Attention |
| 现代 CNN | ConvNeXt v1/v2, RepVGG, RepLKNet, InceptionNeXt, HorNet, FocalNet, SLaK |
| Vision Transformer | ViT, DeiT, DeiT3, BEiT, EVA, CaiT, CrossViT, Swin v2, CSwin, MAE-ViT |
| 高效 Transformer | EfficientViT, TinyViT, EdgeViT, LightViT, FastViT, FasterViT, SwiftFormer |
| MLP 系列 | MLP-Mixer, gMLP, ResMLP, FNet, CycleMLP, AS-MLP, WaveMLP, MorphMLP |
| Hybrid | CoAtNet, MobileFormer, ConvFormer, Uniformer, CMT, MaxViT, MobileViT v1-v3 |
| 特殊结构 | CapsNet, ScatterNet, FractalNet, HighwayNet, HRNet, NAS 系列 |
完整列表见
python -m dlhub.vision.backbones.catalog --list,所有 backbone 均为纯 PyTorch 本地实现。
📝 3. 自然语言处理
从 toy 文本分类到 Transformer、NER、阅读理解。
| 序号 | 项目 | 代码文档 | 核心概念 |
|---|---|---|---|
| 1 | Embedding + FC 文本分类 | toy_text_classification | 词嵌入, 词袋 |
| 2 | Transformer Encoder 文本分类 | toy_text_classification_transformer | Self-Attention, 位置编码 |
| 3 | BiLSTM 命名实体识别 | toy_ner_bilstm | 序列标注, BIO 标签 |
| 4 | Seq2Seq + Attention 序列生成 | toy_seq2seq_attention_generation | Encoder-Decoder, Bahdanau Attention |
| 5 | TextCNN 文本分类 | toy_text_classification_textcnn | 多尺度卷积核, 文本特征 |
| 6 | BiLSTM 文本分类 | toy_text_classification_bilstm | 双向 LSTM, 隐藏状态 |
| 7 | Span Prediction 阅读理解 | reading_comprehension | SQuAD 风格, Start/End Logits |
🕸️ 4. 图神经网络
最丰富的 track — 从 toy 图分类到 Cora 节点分类、图嵌入、异构图推荐。
图分类
| 序号 | 项目 | 代码文档 | 核心概念 |
|---|---|---|---|
| 1 | GCN 图分类 | toy_graph_classification | 邻接矩阵, 消息传递 |
| 2 | GIN 图分类 | gin_toy_graph_classification | WL Test, 图同构 |
| 3 | GAT 图分类 | gat_toy_graph_classification | 注意力系数, 多头注意力 |
节点分类
| 序号 | 项目 | 代码文档 | 核心概念 |
|---|---|---|---|
| 4 | GCN Cora 节点分类 | cora_node_classification_gcn | 半监督学习, 谱方法 |
| 5 | Label Propagation Cora | label_propagation_cora | 经典基线, 无参数方法 |
| 6 | GraphSAGE Cora | graphsage_cora | 采样聚合, 归纳学习 |
嵌入与进阶
| 序号 | 项目 | 代码文档 | 核心概念 |
|---|---|---|---|
| 7 | SDNE 节点嵌入 | sdne_karate_embedding | 自编码器, 一阶/二阶近似 |
| 8 | LINE 节点嵌入 | line_karate_embedding | 大规模网络, 边采样 |
| 9 | Metapath2Vec 异构图嵌入 | metapath2vec_toy_hetero_embedding | 元路径, 异构随机游走 |
| 10 | PinSAGE 推荐 | pinsage_toy_recommender | 随机游走采样, 工业级图推荐 |
| 11 | R-GCN 关系图节点分类 | rgcn_toy_node_classification | 关系特定权重, 知识图谱 |
☁️ 5. 点云
3D 点云分类:PointNet → DGCNN → PointNet++ → 30+ Backbone Zoo。
| 序号 | 项目 | 代码文档 | 核心概念 |
|---|---|---|---|
| 1 | PointNet 点云分类 | pointnet_toy_classification | 点集排列不变性, T-Net |
| 2 | DGCNN 点云分类 | dgcnn_toy_classification | 动态图, EdgeConv |
| 3 | PointNet++ 点云分类 | pointnet2_toy_classification | 层级采样, Set Abstraction |
| 4 | 30+ Backbone Zoo 对比 | pointcloud_zoo_toy_classification | 统一接口, Backbone 对比 |
支持的 Point Cloud Backbones(30 算法 / 64 架构 ID)
| 类别 | 架构 |
|---|---|
| Set Models | PointNet, PointNet++, DeepSets |
| Graph Models | DGCNN, PointGAT, PointGCN, PointWeb |
| MLP Models | PointMLP, PointMixer, PointNeXt |
| Transformer | PCT, Point Transformer, PointBERT, PointMAE |
| Conv Models | KPConv, PointCNN, PointConv, ShellNet |
| Extra | CurveNet, GDANet, PAConv, PVCNN, RandLANet, RSCNN, SpiderCNN 等 |
🎨 6. 生成模型
VAE 和 GAN 的最小实现 — 支持
--dataset fake离线冒烟。
| 序号 | 项目 | 代码文档 | 核心概念 |
|---|---|---|---|
| 1 | VAE 重建 & 生成 | vae_mnist | 重参数化技巧, KL 散度, ELBO |
| 2 | GAN 生成 | gan_mnist | 生成器/判别器对抗, 纳什均衡 |
🤖 7. LLM / 大语言模型
玩具因果语言模型 — 从零搭建 Transformer 生成模型。
| 序号 | 项目 | 代码文档 | 核心概念 |
|---|---|---|---|
| 1 | Transformer 文本生成 | toy_causal_lm_transformer | Causal Mask, 自回归解码 |
[!NOTE]
resources/pdfs/llms/下保留了 50+ 篇 LLM 相关论文与笔记,包括 PaLM、大模型综述等,可作为延伸阅读。
🌐 8. 多模态
从 CLIP 双塔对齐到 LLaVA 指令跟随,再到开放词汇检测、时序定位 — 16 步走完现代视觉语言建模核心脉络。
# 冒烟测试 Multimodal lesson
python -m tracks.multimodal.lesson_01_clip_toy_retrieval.train \
--device cpu --epochs 1 --max-train-batches 2 --max-eval-batches 1
VLM 动物园 — 20 个视觉语言模型家族(教学实现 + 时间线)
| 家族 | 年份 | 核心创新 |
|---|---|---|
| CLIP | 2021 | 对比图文预训练 |
| ALIGN | 2021 | 大规模噪声对比学习 |
| ViLT | 2021 | Patch 级视觉语言 Transformer |
| SimVLM | 2021 | 简单视觉语言预训练 |
| ALBEF | 2021 | 先对齐再融合 |
| LiT | 2022 | 锁定图像的文本微调 |
| BLIP | 2022 | 引导式图文预训练 |
| CoCa | 2022 | 对比式描述器 |
| OFA | 2022 | 统一架构、任务、模态 |
| Flamingo | 2022 | 交错图文视觉语言模型 |
| PaLI | 2022 | Pathways 图文模型 |
| BLIP-2 | 2023 | Q-Former 桥接视觉与 LLM |
| InstructBLIP | 2023 | 指令微调 BLIP-2 |
| LLaVA | 2023 | 视觉指令微调 |
| MiniGPT-4 | 2023 | 投影前缀视觉 LLM |
| Kosmos-2 | 2023 | 接地多模态 LLM |
| mPLUG-Owl2 | 2023 | 模态自适应模块 |
| CogVLM | 2023 | LLM 层内视觉专家 |
| PaLI-X | 2023 | 缩放版 Pathways 图文模型 |
| Qwen-VL | 2023 | 通义千问视觉语言模型 |
完整列表与变体见
python scripts/vlm_zoo.py --list
模型动物园
全领域统一模型动物园 — 纯 PyTorch 本地实现,无需下载预训练权重,2500+ 架构 ID 一行切换
动物园子系统总览(21 个子系统)
| 领域 | 子系统 | 算法族 | CLI 脚本 |
|---|---|---|---|
| Vision | Backbones | 208 族 / 736 IDs | scripts/vision_zoo.py |
| Vision | Detection (2D) | ~120 | scripts/detection_zoo.py |
| Vision | Instance Segmentation | 40 | scripts/instance_segmentation_zoo.py |
| Vision | Panoptic Segmentation | 40 | scripts/panoptic_segmentation_zoo.py |
| Vision | Lane Detection | 24 | scripts/lane_detection_zoo.py |
| Vision | Co-segmentation | 6 | scripts/co_segmentation_zoo.py |
| Vision | 细粒度识别 | 72 | scripts/fine_grained_recognition_zoo.py |
| Vision | 行动识别 | 22 | scripts/action_recognition_zoo.py |
| Vision | MOT (2D) | 81 | scripts/mot_zoo.py |
| NLP | Text Encoders | 49 族 / 813 IDs | scripts/nlp_zoo.py |
| Point Cloud | Backbones | 30 族 / 64 IDs | scripts/pointcloud_zoo.py |
| Point Cloud | 3D Detection | 40 | scripts/detection3d_zoo.py |
| Point Cloud | 3D Segmentation | 40 | scripts/segmentation3d_zoo.py |
| Point Cloud | 3D Instance Seg | 30 | scripts/instance_segmentation3d_zoo.py |
| Point Cloud | 3D Tracking | 131 | scripts/tracking3d_zoo.py |
| Multimodal | VLM | 20 | scripts/vlm_zoo.py |
| Generative | GAN | 24 | scripts/gan_zoo.py |
| Generative | Diffusion | 12 | scripts/diffusion_zoo.py |
| Federated | FL Strategies | 36 | scripts/federated_zoo.py |
所有 Zoo 遵循相同的设计模式:
- 一文件一算法族 — 如
resnet.py包含 ResNet-18/34/50/101 所有变体 - Lazy Import — 仅在使用时加载,启动零开销
- 统一接口 —
build(arch_id, num_classes=...)即可构建任意模型 - CLI 工具 —
--list列表、--search搜索、--smoke冒烟测试
Vision Zoo / 736 Architectures
# 列出所有可用架构
python scripts/vision_zoo.py --list
# 搜索特定架构
python scripts/vision_zoo.py --search convnext
# 冒烟测试
python scripts/vision_zoo.py --smoke resnet50
细粒度视觉识别(FGVC)本地模型库
细粒度视觉识别(FGVC)模型族补充:双线性 / 基于部件 / Transformer / 提示词 / CLIP / 多模态大语言模型推理(玩具级,无下载)
python scripts/fine_grained_recognition_zoo.py --list
python scripts/fine_grained_recognition_zoo.py --search transfg
python scripts/fine_grained_recognition_zoo.py --smoke dlfgvc:fine_r1_tiny
时间线与方法说明见
dlhub/vision/fine_grained_recognition/README.md
行为识别(视频 + 骨骼)本地模型库
行为识别(动作识别)模型族补充:视频 (NCTHW) + 骨骼 (NCTV),玩具级,无下载
python scripts/action_recognition_zoo.py --list
python scripts/action_recognition_zoo.py --search stgcn
python scripts/action_recognition_zoo.py --smoke dlactv:c3d_tiny
python scripts/action_recognition_zoo.py --smoke dlacts:stgcn_tiny
时间线与方法说明见
dlhub/vision/action_recognition/README.md
多目标跟踪(MOT)本地模型库
多目标跟踪模型族补充:2D 单相机 MOT,80 个算法族(每族
tiny/small/base),玩具级,无下载
python scripts/mot_zoo.py --list
python scripts/mot_zoo.py --search bytetrack
python scripts/mot_zoo.py --timeline
python scripts/mot_zoo.py --recommend realtime --top-k 8 --variant tiny
python scripts/mot_zoo.py --recommend occlusion --top-k 8 --variant tiny --emit-train-cmds
python scripts/mot_zoo.py --recommend realtime --top-k 3 --variant tiny --run-train-cmds
python scripts/mot_zoo.py --recommend realtime --top-k 3 --variant tiny --run-train-cmds --skip-existing
python scripts/mot_zoo.py --recommend realtime --top-k 3 --variant tiny --run-train-cmds --summary-only
python scripts/mot_zoo.py --recommend realtime --top-k 3 --variant tiny --run-train-cmds --rank-by loss
python scripts/mot_zoo.py --recommend realtime --top-k 3 --variant tiny --run-train-cmds --save-leaderboard outputs/vision/mot_leaderboard.json
python scripts/mot_zoo.py --recommend realtime --top-k 3 --variant tiny --run-train-cmds --save-artifacts-dir outputs/vision/mot_artifacts
python scripts/mot_zoo.py --recommend realtime --top-k 3 --variant tiny --run-train-cmds --save-artifacts-dir auto
python scripts/mot_zoo.py --smoke mot2d:sort_tiny
组别、选型建议与 80 族列表见
dlhub/vision/mot/README.md
目标检测模型库(2D)
2D 目标检测模型族:基于锚点 / 无锚点 / 基于Transformer / 轻量级检测器,约120种算法
python scripts/detection_zoo.py --list
python scripts/detection_zoo.py --search fcos
python scripts/detection_zoo.py --smoke dldet:fcos_r50_tiny
实例分割与全景分割模型库
实例分割 + 全景分割:Mask R-CNN / YOLACT / Panoptic FPN 等
# 实例分割
python scripts/instance_segmentation_zoo.py --list
python scripts/instance_segmentation_zoo.py --smoke dlinsseg:maskrcnn_r50_tiny
# 全景分割
python scripts/panoptic_segmentation_zoo.py --list
python scripts/panoptic_segmentation_zoo.py --smoke dlpanseg:panfpn_r50_tiny
车道线检测模型库
车道线检测模型族:24种算法,涵盖锚点式 / 参数化 / 分割式 / 关键点式 / Transformer五大范式
python scripts/lane_detection_zoo.py --list
python scripts/lane_detection_zoo.py --search laneatt
python scripts/lane_detection_zoo.py --smoke dllane:laneatt_r18_tiny
协同分割模型库
协同分割模型族:6种算法,用于组别或成对级别的图像共同分割
python scripts/co_segmentation_zoo.py --list
python scripts/co_segmentation_zoo.py --smoke dlcoseg:coatt_tiny
主要架构分类
| 类别 | 代表架构 | 数量 |
|---|---|---|
| 经典 CNN | AlexNet, VGG, GoogLeNet, ResNet, DenseNet | ~60 |
| 高效网络 | MobileNet v1-v4, EfficientNet v1/v2, GhostNet, ShuffleNet | ~80 |
| 注意力 CNN | SENet, CBAM, BAM, ECA-Net, SK-Net, CoordAtt | ~50 |
| 现代 CNN | ConvNeXt v1/v2, RepVGG, RepLKNet, HorNet, FocalNet | ~40 |
| Vision Transformer | ViT, DeiT, BEiT, Swin v2, CSwin, CaiT, CrossViT | ~120 |
| 高效 Transformer | EfficientViT, TinyViT, EdgeViT, FastViT, SwiftFormer | ~60 |
| MLP 系列 | MLP-Mixer, gMLP, ResMLP, FNet, CycleMLP, WaveMLP | ~50 |
| 混合架构 | CoAtNet, MobileFormer, Uniformer, MaxViT, MobileViT | ~60 |
| 特殊结构 | CapsNet, FractalNet, HRNet, NAS 系列, Mamba | ~50 |
自然语言处理模型库 / 813种架构
# 列出所有可用架构
python scripts/nlp_zoo.py --list
# 搜索特定架构
python scripts/nlp_zoo.py --search bert
# 冒烟测试
python scripts/nlp_zoo.py --smoke bert_base
主要架构分类
| 类别 | 代表架构 |
|---|---|
| Transformer | BERT, GPT, T5, ALBERT, DistilBERT, Longformer, BigBird |
| 高效 Transformer | Performer, Nystromformer, FNet, Synthesizer, Linformer |
| RNN系列 | LSTM, GRU, BiLSTM, BiGRU, IndRNN, SRU, QRNN |
| CNN系列 | TextCNN, InceptionCNN, DPCNN, VDCNN, ResConv |
| MLP系列 | gMLP, ResMLP, MLP-Mixer |
| 轻量级 | FastText, WaveNet, TCN |
点云模型库 / 64种架构
# 在 lesson_04 中切换骨干网络
python -m tracks.pointcloud.lesson_04_pointcloud_zoo_toy_classification.train \
--arch pointnet --dataset fake --epochs 1
详细列表见 点云赛道 的骨干网络表格。
3D目标检测模型库
3D 目标检测模型族:40种算法,基于点云 / 体素 / 柱状图 / 多模态
python scripts/detection3d_zoo.py --list
python scripts/detection3d_zoo.py --search pointpillars
python scripts/detection3d_zoo.py --smoke dldet3d:pointpillars_tiny
3D语义分割模型库
3D 语义分割模型族:40种算法,基于点云 / 体素 / 范围视图 / 融合
python scripts/segmentation3d_zoo.py --list
python scripts/segmentation3d_zoo.py --search randlanet
python scripts/segmentation3d_zoo.py --smoke dlseg3d:randlanet_tiny
3D实例分割模型库
3D 实例分割模型族:30种算法,基于提案 / 聚类 / 全景分割
python scripts/instance_segmentation3d_zoo.py --list
python scripts/instance_segmentation3d_zoo.py --smoke dlinsseg3d:pointgroup_tiny
3D多目标跟踪模型库
3D 多目标跟踪模型族:131种算法,基于激光雷达 / 摄像头-激光雷达 / 雷达-激光雷达
python scripts/tracking3d_zoo.py --list
python scripts/tracking3d_zoo.py --search centerpoint
python scripts/tracking3d_zoo.py --smoke dltrk3d:centerpoint_tiny
视觉语言模型库 / 20个家族
视觉语言模型族:20个家族,从 CLIP 到 Qwen-VL,纯 PyTorch 教学实现
python scripts/vlm_zoo.py --list
python scripts/vlm_zoo.py --search llava
python scripts/vlm_zoo.py --timeline
python scripts/vlm_zoo.py --smoke dlvlm:clip_tiny
详细家族列表见 多模态赛道 的视觉语言模型库表格。
生成模型库 / GAN + 扩散模型
生成模型族:GAN(24种算法)+ 扩散模型(12种算法),纯 PyTorch 玩具级实现
# GAN模型库
python scripts/gan_zoo.py --list
python scripts/gan_zoo.py --search stylegan
python scripts/gan_zoo.py --smoke dlgan:dcgan_tiny
# 扩散动物园
python scripts/diffusion_zoo.py --list
python scripts/diffusion_zoo.py --search ddpm
python scripts/diffusion_zoo.py --smoke dldiff:ddpm_tiny
GAN 主要架构
| 类别 | 代表架构 |
|---|---|
| 无条件 GAN | DCGAN, WGAN, WGAN-GP, LSGAN, SNGAN |
| 条件 GAN | cGAN, ACGAN, InfoGAN, Pix2Pix |
| 图像翻译 | CycleGAN, StarGAN, UNIT, MUNIT |
| 高分辨率 | ProGAN, StyleGAN, StyleGAN2, StyleGAN3 |
| 轻量级 | LightGAN, FastGAN |
Diffusion 主要架构
| 类别 | 代表架构 |
|---|---|
| 基础扩散 | DDPM, DDIM, Score-SDE |
| 条件扩散 | Classifier-Guided, Classifier-Free |
| 隐空间扩散 | Latent Diffusion, Stable Diffusion |
| 快速采样 | DPM-Solver, Consistency Models |
联邦学习动物园
联邦学习策略库 — 36 种联邦优化 / 个性化 / 隐私策略,纯 PyTorch 教学实现
python scripts/federated_zoo.py --list
python scripts/federated_zoo.py --search fedavg
python scripts/federated_zoo.py --timeline
全部 36 种策略(按 13 个分组)
| 分组 | 策略 | 说明 |
|---|---|---|
| Optimization | FedAvg | 迭代式模型平均 |
| FedProx | 近端正则化 FedAvg | |
| FedNova | 归一化平均 | |
| FedDyn | 动态正则化联邦优化 | |
| Server Optimizer | FedAdam | 服务端 Adam |
| FedYogi | 服务端 Yogi | |
| Control Variate | SCAFFOLD | 控制变量修正客户端漂移 |
| Feature Normalization | FedBN | 本地 Batch Normalization |
| Personalization | FedPer | Base/Head 分割个性化 |
| APFL | 自适应个性化联邦学习 | |
| Ditto | 近端本地头个性化 | |
| pFedMe | 元正则化个性化 | |
| MOON | 模型对比个性化 | |
| Per-FedAvg | 元学习个性化 | |
| FedRep | 共享表示 + 个性化头 | |
| FedAMP | 注意力消息传递个性化 | |
| FedProto | 原型化联邦学习 | |
| IFCA | 聚类个性化联邦学习 | |
| Fairness | q-FedAvg | 公平资源分配 |
| AFL | 不可知联邦学习 | |
| TERM | 倾斜经验风险最小化 | |
| Long-tail Robustness | FedRS | 类不平衡重平衡 Softmax |
| FedLC | 长尾 Logit 校准 | |
| FedRoD | 鲁棒蒸馏 | |
| Split Learning | SplitFed | 联邦分割学习 |
| SplitFedV2 | 增强分割联邦混合训练 | |
| Heterogeneous Width | HeteroFL | 异构宽度联邦学习 |
| FjORD | 联邦 Dropout | |
| Distillation | FedGKT | 联邦组知识转移 |
| FedDF | 集成蒸馏联邦学习 | |
| Privacy | DP-FedAvg | 差分隐私联邦平均 |
| DP-FedProx | 差分隐私近端联邦学习 | |
| Compression | FedPAQ | 周期平均 + 量化 |
| STC | 稀疏三值压缩 | |
| Secure Aggregation | SecureAgg | 隐私保护安全求和 |
| LightSecAgg | 轻量安全聚合 |
NumPy ML 算法
纯 NumPy 手写经典机器学习算法 — 零深度学习依赖,理解算法本质
| 类别 | 算法 | 文件 | 核心原理 |
|---|---|---|---|
| 线性模型 | Linear Regression | linear_models.py |
最小二乘, 梯度下降 |
| 线性模型 | Ridge Regression | linear_models.py |
L2 正则化, 闭式解 |
| 线性模型 | Logistic Regression | linear_models.py |
Sigmoid, 交叉熵 |
| 线性模型 | Softmax Regression | linear_models.py |
Softmax, 多分类交叉熵 |
| 核方法 | Linear SVM | svm.py |
Hinge Loss, 最大间隔 |
| 树模型 | Decision Tree | decision_tree.py |
Gini 不纯度, 递归分裂 |
| 集成方法 | Random Forest | random_forest.py |
Bagging, 特征随机采样 |
| 集成方法 | AdaBoost (Classification) | adaboost.py |
Boosting, Decision Stumps |
| 集成方法 | Gradient Boosting (Regression) | gradient_boosting.py |
Boosting, 残差拟合 |
| 概率模型 | Naive Bayes | naive_bayes.py |
条件独立, 平滑 |
| 概率模型 | GMM | gmm.py |
EM 算法, 高斯混合 |
| 生成模型 | LDA / QDA | discriminant_analysis.py |
高斯假设, 判别函数 |
| 近邻 | KNN | knn.py |
距离度量, 多数投票 |
| 聚类 | K-Means | kmeans.py |
质心迭代, Lloyd 算法 |
| 聚类 | K-Medoids | kmedoids.py |
Medoid, PAM |
| 聚类 | Agglomerative Clustering | clustering.py |
层次聚类, Linkage |
| 聚类 | DBSCAN | clustering.py |
密度聚类, 邻域扩展 |
| 聚类 | Spectral Clustering | spectral_clustering.py |
图拉普拉斯, 特征向量 |
| 降维 | PCA | pca.py |
特征值分解, 方差最大化 |
| 降维 | NMF | nmf.py |
非负分解, 乘法更新 |
| 降维 | FastICA | ica.py |
独立成分, Fixed-point |
| 降维 | Isomap | isomap.py |
测地距离, MDS |
| 序列模型 | Markov Chain | markov_chain.py |
转移矩阵, 平滑 |
| 序列模型 | N-gram LM | ngram.py |
计数, Laplace 平滑 |
| 序列模型 | Categorical HMM | hmm.py |
Forward / Viterbi, log-space |
| 神经网络 | Perceptron | perceptron.py |
感知机学习规则 |
| 神经网络 | MLP | mlp.py |
反向传播, 链式法则 |
所有文件位于 ml_algorithms/python/,使用 @dataclass 模式实现。
优化工具包
纯 NumPy 实现 — 理解优化器和调度器的数学本质
|
Optimizers
|
LR Schedulers
|
Losses
|
Metrics
|
更多优化算法
| 算法 | 目录 | 说明 |
|---|---|---|
| 蚁群优化 (ACO) | optimization/ACO/ |
旅行商问题求解,含原理图 |
| 遗传算法 (GA) | optimization/GA/ |
进化搜索,含流程图 |
| 粒子群优化 (PSO) | optimization/PSO/ |
群体智能优化 |
| 层次分析法 (AHP) | optimization/AHP/ |
多准则决策 |
| Lasso 优化 | optimization/Lasso/ |
L1 正则化路径,含可视化 |
文档
| 文档 | 说明 | 适合谁 |
|---|---|---|
ROADMAP.md |
学习路线图与推荐顺序 | 初学者 |
INSTALL.md |
安装指南 | 所有人 |
RUNNING.md |
如何运行 Lesson | 所有人 |
STRUCTURE.md |
仓库结构详解 | 想深入了解的人 |
CONVENTIONS.md |
运行 & 实验约定 | 贡献者 |
STYLEGUIDE.md |
代码规范 | 贡献者 |
FAQ.md |
常见问题 | 遇到问题时 |
设计理念
┌───────────────────────────────────────────────────────┐
│ DL-Hub 设计理念 │
├──────────────┬──────────────┬─────────────────────────┤
│ Offline-first │ 统一脚手架 │ 可复现 │
│ 所有 lesson │ 共享 dlhub/ │ 种子 + 配置 + 日志 │
│ 支持离线冒烟 │ 训练框架 │ 每次实验可追溯 │
├──────────────┼──────────────┼─────────────────────────┤
│ 渐进式 │ 测试覆盖 │ Model Zoo │
│ 由浅入深 │ 126 pytest │ 2500+ 架构 ID │
│ 8 track 递进 │ CI 可集成 │ 全领域统一接口 │
└──────────────┴──────────────┴─────────────────────────┘
详细说明
- Offline-first — 所有 lesson 支持
--dataset fake离线冒烟,无需下载任何数据集,10 秒内验证环境 - 统一脚手架 — 所有 lesson 共享
dlhub/框架:训练循环、设备管理、种子、检查点、JSONL 指标记录 - 可复现 — 种子管理 + 配置自动保存 + 指标日志,每次实验完整可追溯
- 渐进式 — 从基础张量操作到 Vision Transformer、GraphSAGE、PointNet++、LLaVA,由浅入深,8 个 track 层层递进
- 测试覆盖 — 126 pytest 测试文件覆盖框架核心与所有 track,支持 CI 集成
- Model Zoo — 全领域(Vision / NLP / Point Cloud / Multimodal / Generative / Federated)共 2500+ 架构 ID,纯 PyTorch 本地实现,统一接口一行切换
贡献
欢迎贡献!无论是修复 typo、补充 lesson 还是提出新的 track 想法。
- Fork 本仓库
- 创建你的分支 (
git checkout -b feature/amazing-lesson) - 遵循
docs/STYLEGUIDE.md代码规范 - 确保
python scripts/smoke_check.py通过 - 提交 PR
[!NOTE] 每个新 lesson 应包含:
model.py/data.py/train.py/README.md,并支持--dataset fake冒烟模式。详见docs/CONVENTIONS.md。
引用
如果本项目对你的学习或研究有帮助,欢迎引用:
@misc{dlhub2026,
title = {DL-Hub: 一个统一的 PyTorch 深度学习学习项目},
author = {DL-Hub 贡献者},
year = {2026},
url = {https://github.com/your-username/DL-Hub}
}
许可证
本项目采用 MIT 许可证 开源。代码自由使用,resources/pdfs/ 下的论文版权归原作者所有。
为学习而建。为运行而建。
如果觉得有帮助,欢迎 Star 支持 ⭐
相似工具推荐
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
NextChat
NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
ragflow
RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。