如果您想加入其余课程的直播,昆士兰大学已开放该课程的延迟注册:在此注册。
几周前,我们开始教授新课程,从深度学习基础到 Stable Diffusion。开发和教授这些第一课的体验非常棒。课程贡献者包括来自 Hugging Face、Stability.ai 和 fast.ai 的一些杰出人士,我们已经收到了来自 Deoldify、Lambda Labs 等出色人士的一些鼓舞人心的贡献。
在过去的两周里,出现了一些重要的新论文,我们已经在课程中涵盖了它们。由于这个领域发展如此之快,而且引起了广泛关注,我们决定提前发布前两节课。事实上,我们现在就发布!
总共,我们将发布四个视频,时长约5.5小时,涵盖以下主题(课程编号从“9”开始,因为这是《面向程序员的实用深度学习 第一部分》的延续,该部分共有8节课)
- 第9课 Jeremy Howard 讲解:如何使用 Diffusers 管道;Stable Diffusion 的概念部分是什么
- 第9A课 Jonathan Whitaker 讲解:深入探讨 Stable Diffusion 概念和代码
- 第9B课 Wasim Lorgat 和 Tanishq Abraham 讲解:扩散的数学原理
- 第10课 Jeremy Howard 讲解:创建一个自定义扩散管道;从“基础”开始
如果您已经完成了课程的第一部分,或者已经有一些训练和部署深度学习模型(最好是 PyTorch)的经验,这些视频将最有意义。
第9课——管道和概念
本课从一个关于如何使用Diffusers 库中的管道来生成图像的教程开始。Diffusers 是(我们认为!)目前用于图像生成的最佳库。它具有许多功能,并且非常灵活。我们解释了如何使用它的许多功能,并讨论了访问使用该库所需的 GPU 资源的选项。
我们讨论了在 Diffusers 中使用 Stable Diffusion 时可用的一些巧妙调整,并展示了如何使用它们:引导比例(用于调整提示的使用程度)、负面提示(用于从图像中移除概念)、图像初始化(用于从现有图像开始)、文本反转(用于将您自己的概念添加到生成的图像中)、Dreambooth(文本反转的另一种方法)。
本课的后半部分涵盖了 Stable Diffusion 中的关键概念
- CLIP 嵌入
- VAE(变分自编码器)
- 使用 UNet 预测噪声
- 使用调度器移除噪声
您可以在此论坛主题中讨论本课,并访问所有笔记本和资源链接。
第9A课——深入探讨
在此视频中,Jonathan Whitaker向我们展示了使用 Stable Diffusion 创建图像时幕后发生的事情,查看了不同的组件和过程,以及如何修改每个组件和过程以进一步控制生成过程。
他展示了如何从头开始复制采样循环,并更详细地解释了每个步骤
- 自编码器
- 添加噪声和图像到图像
- 文本编码过程
- UNet 和无分类器引导
- 采样。
第9B课——扩散的数学原理
Wasim Lorgat 和 Tanishq Abraham 从基础开始讲解扩散模型的数学原理。他们假设您除了高中所学知识外,没有其他先修知识。
第10课——自定义管道
本课使用底层组件:VAE、UNet、调度器和分词器,创建一个完整的 Diffusers 管道。通过手动将它们组合在一起,这为您提供了完全自定义推理过程每个方面的灵活性。
我们还讨论了上周发布的三篇重要新论文,它们将推理性能提高了 10 倍以上,并且只需描述新图片应显示的内容,即可“编辑”任何照片。
本课的后半部分开始了课程的“从基础开始”阶段,从头开发一个基本的矩阵类和随机数生成器,并讨论了 Python 中迭代器的使用。
您可以在此论坛主题中讨论本课,并访问所有笔记本和资源链接。