uvadlc_notebooks
uvadlc_notebooks 是阿姆斯特丹大学深度学习课程配套的开源教程库,旨在通过可交互的 Jupyter Notebook 帮助学习者将抽象的理论转化为具体的代码实践。它有效解决了深度学习学习中“懂原理却难以下手实现”的痛点,让用户在动手编码中深入理解优化技术、Transformer 架构及图神经网络等核心概念。
这套教程特别适合人工智能专业的学生、希望系统提升实战能力的开发者以及从事相关领域的研究人员。其独特的技术亮点在于提供了基于 PyTorch(含 PyTorch Lightning)和 JAX+Flax 两种主流框架的一对一代码实现,方便用户对比学习不同生态下的建模方式。此外,所有笔记均经过精心设计,无需高端显卡即可在普通笔记本电脑的 CPU 上运行,并支持一键跳转至 Google Colab 进行 GPU 加速实验。作为 PyTorch Lightning 官方认可的教程资源,uvadlc_notebooks 以清晰的结构和实用的预训练模型,为用户搭建了一座从理论通往工程落地的坚实桥梁。
使用场景
阿姆斯特丹大学的一名 AI 硕士生正在准备深度学习课程的期末考试,急需通过代码实践来消化课堂上关于 Transformer 和图神经网络的复杂理论。
没有 uvadlc_notebooks 时
- 理论难以落地:面对抽象的数学公式和论文描述,学生很难凭空构建出正确的 PyTorch 或 JAX 代码实现,导致“看懂了但写不出”。
- 环境配置耗时:自行搭建包含 PyTorch Lightning 等特定库的实验环境极易出错,往往在运行代码前就因版本冲突浪费数小时。
- 缺乏权威参考:网络上教程质量参差不齐,找不到与课程考点完全匹配的标准实现,担心学到的细节与考试要求偏差。
- 硬件门槛限制:想要复现模型却受限于本地笔记本无 GPU 支持,无法验证大规模神经网络的训练效果。
使用 uvadlc_notebooks 后
- 理论代码互通:直接运行官方提供的 Jupyter Notebook,直观看到优化技术及 Transformer 等架构从理论到 PyTorch/JAX 代码的一一对应,瞬间打通理解堵点。
- 开箱即用体验:利用预置的 Conda 环境文件或 Google Colab 链接,一键跳过繁琐配置,立即开始专注于算法逻辑本身。
- 考点精准覆盖:笔记内容紧扣课程大纲与评分标准,提供了经过验证的标准答案式实现,确保复习方向绝对正确。
- 灵活算力支持:无需本地高端显卡,通过 Colab badge 即可调用云端 GPU 资源,或使用预训练模型在 CPU 上快速完成实验验证。
uvadlc_notebooks 将晦涩的深度学习理论转化为可交互、可运行的标准代码实践,极大地降低了从“听懂课”到“写出码”的学习门槛。
运行环境要求
- Linux
- macOS
- Windows
- 非必需
- 笔记本设计为可在普通笔记本电脑的 CPU 上运行
- 若需训练大型模型或使用 GPU,推荐使用 Google Colab 或 Snellius 集群(具体显卡型号、显存大小及 CUDA 版本未说明)
未说明

快速开始
UvA 深度学习教程
注:若想以更美观的格式查看这些笔记本,请访问我们的 RTD 网站:https://uvadlc-notebooks.readthedocs.io/en/latest/
课程网站: https://uvadlc.github.io/
课程版本: 2024 年秋季(10月28日—12月20日)——持续更新
录像: YouTube 播放列表
作者: Phillip Lippe
针对今年的课程版本,我们创建了一系列 Jupyter 笔记本,旨在通过对应的实现代码帮助你更好地理解课堂讲授的“理论”。我们将涵盖优化技术、Transformer、图神经网络等多个主题(完整列表见下文)。这些笔记本不仅有助于你理解课程内容,还会深入讲解 PyTorch 框架,包括 PyTorch Lightning。此外,我们还提供了这些笔记本的 JAX+Flax 对应版本,作为另一种框架的选择。
每个小组辅导课的第一小时都会展示这些笔记本。在辅导过程中,我们会讲解内容并剖析笔记本中的实现细节。你可以自行决定是仅浏览已完成的笔记本、亲自尝试,还是在实践环节中跟随代码一起编写。这些笔记本并不直接属于任何需要评分的必做作业或其他类似任务。不过,我们鼓励你熟悉这些笔记本,并自行进行实验或扩展。此外,其中的内容也将与评分作业和考试相关。
这些教程已被整合为 PyTorch Lightning 的官方教程。因此,你也可以在他们的文档中查看:PyTorch Lightning 文档。
如何运行这些笔记本
在本网站上,我们已将笔记本导出为 HTML 格式,方便你在任何设备上阅读。然而,我们仍建议你亲自尝试运行它们。以下是三种推荐的运行方式:
本地 CPU 运行:所有笔记本都存储在构建此网站的 GitHub 仓库中。你可以在以下链接找到它们:https://github.com/phlippe/uvadlc_notebooks/tree/master/docs/tutorial_notebooks。这些笔记本的设计使得你无需 GPU 即可在普通笔记本电脑上运行。我们提供了预训练模型,这些模型会在运行笔记本时自动下载,或者你也可以从这个 Google Drive 手动下载。预训练模型和数据集所需的磁盘空间不足 1GB。为了确保你安装了所有必要的 Python 包,我们在同一仓库中提供了一个 conda 环境(根据你的系统选择 CPU 或 GPU 版本)。
Google Colab:如果你希望在不同于自己电脑的平台上运行笔记本,或者想尝试使用 GPU 支持,我们推荐使用 Google Colab。本文档网站上的每个笔记本都配有可打开 Google Colab 的按钮。请记得在运行笔记本前启用 GPU 支持(“Runtime -> Change runtime type”)。每个笔记本可以独立运行,无需连接你的 Google Drive 或其他服务。不过,关闭会话后,若未保存到本地或提前复制到 Google Drive,更改可能会丢失。
Snellius 集群:如果你想基于这些笔记本训练自己的(较大规模的)神经网络,可以使用 Snellius 集群。但仅当你要真正训练新模型时才建议这样做;对于模型的讨论和分析,可以先使用前两种方法。Snellius 可能不允许你以学生账号直接在 gpu_shared 分区上运行 Jupyter 笔记本。你可以先使用
jupyter nbconvert --to script ...ipynb将笔记本转换为脚本,然后在 Snellius 上提交作业来运行该脚本。在 Snellius 上运行时,请注意以下几点:- 禁用笔记本中的 tqdm 输出语句。否则,你的 slurm 输出文件可能会变得非常大,达到几 MB。在 PyTorch Lightning 中,可以通过在 trainer 中设置
progress_bar_refresh_rate=0来实现。 - 注释掉 matplotlib 绘图语句,或将
plt.show()替换为plt.savefig(...)。
- 禁用笔记本中的 tqdm 输出语句。否则,你的 slurm 输出文件可能会变得非常大,达到几 MB。在 PyTorch Lightning 中,可以通过在 trainer 中设置
辅导课与讲座的对应关系
我们将在课程中讲解 7 个辅导课,分散在不同的讲座中,以覆盖各个领域的内容。你可以根据主题将辅导课与讲座对应起来。辅导课列表如下:
- 指南 1:使用 Snellius 集群
- 辅导课 2:PyTorch 入门
- 辅导课 3:激活函数
- 辅导课 4:优化与初始化
- 辅导课 5:Inception、ResNet 和 DenseNet
- 辅导课 6:Transformer 和多头注意力机制
- 辅导课 7:图神经网络
- 辅导课 8:深度能量模型
- 辅导课 9:自编码器
- 辅导课 10:对抗攻击
- 辅导课 11:用于图像建模的归一化流
- 辅导课 12:自回归图像建模
- 辅导课 15:视觉 Transformer
- 辅导课 16:元学习——学会学习
- 辅导课 17:基于 SimCLR 的自监督对比学习
反馈、问题或贡献
这是我们首次在深度学习课程中推出这些辅导课。如同任何项目一样,难免会出现一些小 bug 和问题。我们非常欢迎同学们的反馈,无论是拼写错误、实现问题,还是对笔记本改进或补充的建议。请使用以下 链接 提交反馈,或者直接通过邮件 (p dot lippe at uva dot nl) 联系我,亦可在任何助教答疑时段找我交流。
如果你觉得这些辅导课很有帮助,并希望引用它们,可以使用以下 BibTeX 格式:
@misc{lippe2024uvadlc,
title = {{UvA Deep Learning Tutorials}},
author = {Phillip Lippe},
year = 2024,
howpublished = {\url{https://uvadlc-notebooks.readthedocs.io/en/latest/}}
}
常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备
Deep-Live-Cam
Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具,用户仅需一张静态照片,即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点,让高质量的数字内容创作变得触手可及。 这款工具不仅适合开发者和技术研究人员探索算法边界,更因其极简的操作逻辑(仅需三步:选脸、选摄像头、启动),广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换,还是制作趣味短视频和直播互动,Deep-Live-Cam 都能提供流畅的支持。 其核心技术亮点在于强大的实时处理能力,支持口型遮罩(Mouth Mask)以保留使用者原始的嘴部动作,确保表情自然精准;同时具备“人脸映射”功能,可同时对画面中的多个主体应用不同面孔。此外,项目内置了严格的内容安全过滤机制,自动拦截涉及裸露、暴力等不当素材,并倡导用户在获得授权及明确标注的前提下合规使用,体现了技术发展与伦理责任的平衡。