news 2026/9/10 11:55:50

李宏毅深度学习作业集 leedl-tutorial:3 步上手 15 个 PyTorch 实战 Notebook

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
李宏毅深度学习作业集 leedl-tutorial:3 步上手 15 个 PyTorch 实战 Notebook

李宏毅深度学习作业集 leedl-tutorial:3 步上手 15 个 PyTorch 实战 Notebook

【免费下载链接】leedl-tutorial《李宏毅深度学习教程》(李宏毅老师推荐👍,苹果书🍎),PDF下载地址:https://github.com/datawhalechina/leedl-tutorial/releases项目地址: https://gitcode.com/GitHub_Trending/le/leedl-tutorial

leedl-tutorial 是 Datawhale 整理的李宏毅《机器学习》课程作业中文实现,包含 15 份 PyTorch 实战 notebook 与配套讲义 PDF,覆盖从回归、分类到领域适配、元学习的完整路线,适合想动手系统练习深度学习的入门者,也适合在少量标注数据场景下寻找可运行参考实现的人。

🎯 痛点与适用场景

目标数据没有标签

做迁移或少样本任务时,最常见的困境是:有标签的源数据充足,目标数据却一片空白。HW11 的作业设定就是这个场景——用真实照片训练,对手绘涂鸦(无任何标签)做识别,逼你只靠特征本身解决问题,而不是堆更多标注数据。

想亲手验证算法,而不是只看概念

MAML 的 fast weights、DANN 的梯度反转,看十遍 PPT 不如自己填一次 TODO。本仓库每个作业都把关键实现留空,Homework/readme.md 中 15 份作业全部已完成(checklist 全勾),你可以边做边对照讲义逐格验证。

🚀 三步快速上手

第一步:克隆仓库

git clone https://gitcode.com/GitHub_Trending/le/leedl-tutorial

15 份作业都在Homework/下,每个目录配有.ipynb和同名讲义.pdf,例如 HW15-MetaLearning.ipynb 与 HW15.pdf。

第二步:配置运行环境

多数作业面向 Google Colab 免费 GPU,先跑 Google_Colab_Tutorial.ipynb 和 Pytorch_Tutorial_2.ipynb 两份热身。注意 notebook 内数据路径形如../input/ml2022spring-hw15/omniglot,按各 notebook 内的下载说明把数据放到对应目录即可。

第三步:运行首个 notebook

从 HW1 回归开始:默认n_epochs=3000,训练记录会自动写入 tensorboard,完成后运行%tensorboard --logdir=./runs/就能直接看到损失曲线,确认环境无误后再按分类、CNN 顺序推进。

⚙️ 核心原理拆解

仓库按"数据/标签不足"的不同成因拆成几条独立技术路线,各自对应一个可运行的作业:

路线核心思路适用场景对应作业
领域对抗训练(DaNN)特征提取器、分类器与域分类器联合训练并插入梯度反转,让域分类器"学不会",从而逼出域不变特征源域有标签、目标域无标签HW11
元学习(MAML)双层优化:外层学"易适应"的初始化,内层用 support set 少量梯度步快速收敛到新任务5-way 1-shot 等少样本分类HW15
终身学习(SCP)持续吸收新任务,用经验回放抑制灾难性遗忘模型不断遇到新类别HW14
迁移学习(微调)直接复用 base 模型学到的表示,少训几个 epoch最简基线,用于对比HW15 的 base solver

HW11 用真实照片训练、涂鸦识别的场景解释了为什么需要领域适配:

HW14 则把终身学习的各方法归纳成一张总览图:

📊 实测与效果数据

以下数字全部来自 notebook 内预置的训练输出与统计,可直接打开验证:

指标具体数值出处
MAML 训练精度26.7% 提升至 84.8%(30 epochs)HW15 notebook 输出
MAML 验证精度训练末段 78%,峰值 85%同上(5-way 1-shot,Omniglot 28x28)
DaNN 参数量特征提取器 2,142,336 / 分类器 530,442 / 域分类器 1,055,233HW11 notebook 训练统计
DaNN 训练耗时(Colab)Simple 约 1 小时;Strong 5~6 小时同上
知识蒸馏教师模型RestNet 测试精度约 89.9%HW13 notebook 注释

这张 HW11 的曲线恰好说明了 DANN 的"成功判据":训练精度(红)收敛到约 0.98 后,域分类精度(黄)被压到 0.54 附近——域分类器基本失效——而测试精度(绿)随之升到 0.73 并继续缓慢上升,所以 notebook 才提醒训练 200 epoch 后仍值得继续训练。

⚠️ 实战注意事项

  • MAML 需要自己填实现:notebook 把 First Order MAML 留成 TODO,讲义 HW15.pdf 第 25 页有伪代码,建议先开FO=True跑通再写完整版本。
  • 内外层学习率是配套的:默认inner_lr=0.4meta_lr=0.001,动其中一个就要重新观察训练精度曲线,不要孤立调参。
  • 两条 solver 路线的 epoch 差 6 倍:base solver 只跑 5 epochs,meta solver 跑 30 epochs,对比实验时先确认跑的是哪条路线。
  • lambda 是固定值:HW11 取lambda=0.1,原论文中它是自适应的,结果波动时可从这里入手调整。
  • 预留 GPU 时间:HW11 的 Strong 基线在 Colab 上需要 5~6 小时,先用 Simple 档位验证代码正确性再升级。

📚 资源导航

  • 全部 15 份作业清单:Homework/readme.md
  • 元学习实战:HW15-MetaLearning.ipynb
  • 领域对抗训练:HW11-Adaptation.ipynb
  • 终身学习:HW14-LifeLongMachineLearning.ipynb
  • 环境热身教程:Homework/Warmup/
  • 纸质版勘误修订表:docs/errata.md

这份仓库的价值在于"每个概念都有可运行 notebook、每个 notebook 都留了动手空格"。建议按 Warmup → HW1/HW2 → HW15 的顺序走,用 5-way 1-shot 的 Omniglot 配置亲手实现一遍 First Order MAML,把从"大量数据"到"少量数据"的完整链路跑通,再回头对照 HW11、HW14 扩展到其他路线。

【免费下载链接】leedl-tutorial《李宏毅深度学习教程》(李宏毅老师推荐👍,苹果书🍎),PDF下载地址:https://github.com/datawhalechina/leedl-tutorial/releases项目地址: https://gitcode.com/GitHub_Trending/le/leedl-tutorial

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/10 11:54:30

InsightFace ArcFace-Paddle 基础训练预测功能测试(TIPC)完整指南

InsightFace ArcFace-Paddle 基础训练预测功能测试(TIPC)完整指南 【免费下载链接】insightface State-of-the-art 2D and 3D Face Analysis Project 项目地址: https://gitcode.com/GitHub_Trending/in/insightface 本文是 InsightFace 仓库中 A…

作者头像 李华
网站建设 2026/9/10 11:53:37

燃气轮机动态建模与Simulink仿真实践

1. 项目概述:回热燃气轮机动态建模的核心价值燃气轮机作为能源动力领域的核心装备,其动态特性研究一直是工程师关注的焦点。这个基于Matlab/Simulink 2021构建的回热燃气轮机动态模型,本质上是一个能够模拟启动、停机和变工况过程的部件级仿真…

作者头像 李华
网站建设 2026/9/10 11:52:55

RP2040低功耗实战:手撕寄存器实现<30μA深度休眠

1. 为什么你写的低功耗代码总“省不下电”?——从RP2040的寄存器真相说起我第一次在Pico上跑低功耗demo时,用官方SDK调了个sleep()函数,万用表一测:电流从8mA掉到7.2mA。心里咯噔一下——这哪是休眠,这是打盹儿。后来拆…

作者头像 李华