Diffusion models代码解读:入门与实战

Posted 沉迷单车的追风少年

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Diffusion models代码解读:入门与实战相关的知识,希望对你有一定的参考价值。

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任务打下基础,让人耳目一新,具有极强的借鉴意义和启发性,值得深度阅读。

以上是关于Diffusion models代码解读:入门与实战的主要内容,如果未能解决你的问题,请参考以下文章

Diffusion models代码解读:入门与实战

Diffusion models代码解读:入门与实战

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

深入解读:从DDIM到Improved Denoising Diffusion Probabilistic Models

从DDPM到DDIM:深入解读《Denoising Diffusion Implicit Models》

从DDPM到DDIM:深入解读《Denoising Diffusion Implicit Models》