1、Diffusion models代码实战:从零搭建自己的扩散模型

这个系列曾经写过三篇文章专门讲代码,分别从数据集、超参数、loss设计、参数计算、Unet结构、正向过程、逆向过程等部分详细介绍了如何搭建DDPM。Diffusion models领域发展神速,最近半年代表作品有OpenAI的GLIDE、DALL-E 2,Google Brain的ImageGen,海森堡大学的Latent Diffusion。这篇博客针对入门新手讲解一下如何利用已有的资源快速搭建自己的Diffusion models。

2、DDPM代码详细解读(1):数据集准备、超参数设置、loss设计、关键参数计算

大部分DDPM相关的论文代码都是基于《Denoising Diffusion Probabilistic Models》和《Diffusion Models Beat GANs on Image Synthesis》贡献代码基础上小改动的。官方的DDPM是tensorflow TPU版本,暂时没有GPU的版本。本篇文章开始,详细解读一下pytorch和tensorflow版本的代码。

3、DDPM代码详细解读(2):Unet结构、正向和逆向过程、IS和FID测试、EMA优化

大部分DDPM相关的论文代码都是基于《Denoising Diffusion Probabilistic Models》和《Diffusion Models Beat GANs on Image Synthesis》贡献代码基础上小改动的。官方的DDPM是tensorflow TPU版本,暂时没有GPU的版本。上一篇文章介绍了数据集加载,超参数的含义、关键参数的计算方法等,这一篇重点解读一下网络结构。

4、DDPM代码详细解读(3):图解模型各部分结构、用ConvNextBlock代替Resnet

前两篇文章讲了pytorch版本的代码,并一一介绍重要方法的原理。官方给的代码是tensorflow TPU版本,没有跑通。但是有很多人用pytorch复现了tensorflow TPU版本的代码,暂时没看见tensorflow GPU版本的代码。这篇文章解读一下对应的pytorch版本的代码,重点分析一下用最新的ConvNextBlock代替ResBlock效果。

5、手把手写Generative score-based models代码

作为和DDPM同宗同源的score-based models,虽然没能做到如此火爆,但是其中很多思想都被后来的研究者们借鉴,这篇博客就详细讲解score-based models代码,手把手带读者生成自己的MNIST。

6、如何用Diffusion models做interpolation插值任务?——原理解析和代码实战

很多Diffusion models的论文里都演示了插值任务,今天我们讲解一下如何用DDIM/DDPM做interpolation任务,剖析原理,并给出代码讲解与实战。

7、详细解读Latent Diffusion Models:原理和代码

CVPR 2022中的一项新工作latent diffusion models引起了广泛关注,提出了两段式diffusion models能有效节省计算资源,latent attention技术为通用image-to-image任务打下基础,让人耳目一新,具有极强的借鉴意义和启发性,值得深度阅读。

8、代码讲解——用diffusion models级联式超分辨重建

去年写过一篇文章《Diffusion Models在超分辨率领域的应用》,介绍diffusion models超分辨率重建方面工作。如今级联法已经成为diffusion models大模型的标配,主要原因有两点:1)直接训练256*256设置512*512分辨率的模型,硬件能力无法胜任。2)diffusion models超分模型已经能取得非常棒的效果,而且用相同的信息注入方式,完美贴合各种多模态任务。

9、DDIM代码详细解读(1):数据集加载、类别条件信息读取、关键超参数解析

之前写过三篇详细解读DDPM代码的博客,随着时间已经来到2022年7月,单纯使用DDPM已经逐渐被淘汰,最新的论文更多使用DDPM的改进版本。DDIM作为DDPM最重要的改进版本之一,从本篇博客开始详细解读一下DDIM代码。本文主要讲解如何加载数据集,如何读取类别条件信息,以及关键的超参数如何计算。

10、DDIM代码详细解读(2):关键参数计算、损失函数设计、添加时间步长信息、归一化设计

之前写过三篇详细解读DDPM代码的博客,随着时间已经来到2022年7月,单纯使用DDPM已经逐渐被淘汰,最新的论文更多使用DDPM的改进版本。DDIM作为DDPM最重要的改进版本之一,从本篇博客开始详细解读一下DDIM代码。这篇博客详细讲解一下如何计算关键参数,如何设计损失函数,如何添加时间步长信息,如何设计损失函数。

11、DDIM代码详细解读(3):核心采样代码、超分辨率重建

之前写过三篇详细解读DDPM代码的博客,随着时间已经来到2022年10月,单纯使用DDPM已经逐渐被淘汰,最新的论文更多使用DDPM的改进版本。DDIM作为DDPM最重要的改进版本之一,从本篇博客开始详细解读一下DDIM代码。这篇博客详细讲解一下如何设计核心采样代码、 如何用diffusion models做超分辨重建。

12、DDIM代码详细解读(4):分类器classifier的网络设计、训练、推理

之前写过三篇详细解读DDPM代码的博客,随着时间已经来到2022年11月,单纯使用DDPM已经逐渐被淘汰,最新的论文更多使用DDPM的改进版本。DDIM作为DDPM最重要的改进版本之一,从本篇博客开始详细解读一下DDIM代码。这篇博客详细讲解一下如何设计分类器,如何训练分类器,如何在推理过程中使用分类器。

13、深入解读GLIDE/PITI代码

GLIDE是diffusion models text-to-image的一项非常经典的模型,PITI是一项基于GLIDE的工作,读懂PITI相当于读懂GLIDE,这篇文章就和读者一起解读代码,难以描述的地方会画出程序流程图解释。点赞打卡,立马启程!

Diffusion models代码解读:入门与实战相关推荐

  1. 深入理解Conditional Diffusion Models:解读《On Conditioning the Input Noise for Controlled Image Generation》

    Diffusion Models专栏文章汇总:入门与实战 前言:我之前写了一篇博客<条件DDPM:Diffusion model的第三个巅峰之作>梳理了conditional diffus ...

  2. Diffusion Models专栏文章汇总:入门与实战

    最新最全Diffusion Models论文.代码汇总 1.Diffusion Models扩散模型与深度学习(数学原理和代码解读) 这篇文章适合小白入门看,能快速了解diffusion models ...

  3. 如何用Diffusion models做interpolation插值任务?——原理解析和代码实战

    Diffusion Models专栏文章汇总:入门与实战  前言:很多Diffusion models的论文里都演示了插值任务,今天我们讲解一下如何用DDIM/DDPM做interpolation任务 ...

  4. 详细解读Latent Diffusion Models:原理和代码

    Diffusion Models专栏文章汇总:入门与实战 前言:CVPR 2022中的一项新工作latent diffusion models引起了广泛关注,提出了两段式diffusion model ...

  5. 详细解读PITI:开启diffusion models image-to-image新时代

    Diffusion Models专栏文章汇总:入门与实战 前言:最近微软亚洲研究院新出了一项工作,围绕着GLIDE,采用两段式微调的方法,在通用image-to-image模型上取得了非常好的效果.相 ...

  6. Diffusion Models从入门到放弃:必读的10篇经典论文

    前言:diffusion models是现在人工智能领域最火的方向之一,并引爆了AIGC方向,一大批创业公司随之诞生.笔者2021年6月开始研究diffusion,见证了扩散模型从无人问津到炙手可热的 ...

  7. BERT:代码解读、实体关系抽取实战

    目录 前言 一.BERT的主要亮点 1. 双向Transformers 2.句子级别的应用 3.能够解决的任务 二.BERT代码解读 1. 数据预处理 1.1 InputExample类 1.2 In ...

  8. VSCode + git代码托管:入门到实战

    VSCode + git代码托管:入门到实战 使用VSCode代码开发工具(IDE开发工具的一种),该代码开发软件功能,常用举例如下: 可以实现代码开发: 代码提示等等插件安装: Git代码托管:修改 ...

  9. Gerrit代码Review入门实战 1

    Gerrit代码Review入门实战 库 代码审核 Android Gerrit 经验分享 阅读23889  代码审核(Code Review)是软件研发质量保障机制中非常重要的一环,但在实际项目执行 ...

最新文章

  1. GTA 5祖传「屎山」代码终于修复!R星认可黑客方案,还给他发了1万美元奖金
  2. 从系列去雨论文看如何创新
  3. Roman to Integer - LeetCode
  4. C语言删除单链列表中间的节点的算法(附完整源码)
  5. TP查询数据库多维数组
  6. 常见坑人无数的Redis面试题总结
  7. LeetCode 461 Hamming Distance(汉明距离)
  8. Java求三个数中的最大值
  9. php返回图片二进制字节数组,获取图片文件的二进制数组
  10. 文件和目录(二)--unix环境高级编程读书笔记
  11. h3c交换机查看电源和风扇模块序列号
  12. mysql游标 循环_MySQL游标与嵌套循环
  13. 如何使用TrueCrypt加密
  14. [ASP调试]小旋风Web服务器使用
  15. hdu3966树链剖分 分析
  16. bitcoin简析一
  17. Outlook_Hotkey
  18. sigmastar—ISP图像调试(AWB矫正)
  19. 上榜豆瓣2020年度经管榜,让《重来3》带你逃离内卷、摆脱焦虑
  20. vue3 script setup写法

热门文章

  1. DDK2000与VC6
  2. BZOJ4379 : [POI2015]Modernizacja autostrady
  3. 马蜂窝 iOS App 启动治理:回归用户体验
  4. 专科计算机毕业论文范文 致谢,专科毕业论文致谢范文(通用6篇)
  5. Building Worlds In Unreal 学习笔记——07-11 岩石树落木灌木绘制/溪水着色器/潮湿与焦散贴花/后处理
  6. typora上传图片小白教程
  7. java的单行注释符是_Java 程序中的单行注释符是( ),多行注释符是( )_学小易找答案...
  8. 渗透测试之---xss-labs闯关【1-14关】
  9. ubuntu系统切换高性能模式
  10. mac安装Homebrew报443