一.diffusion源码解读
(1).案例流程分析
下载与布署到pycharm中,然后跑diffusionDemo.py文件中的linear_beta_schedule方法,它这里就是按论文写的定义好b的取值范围是0.0001至0.02之间。如下图:
上面是按公式写出来的,搞出公式后就开始生产噪声:
上图中可知随机生成噪声是调用torch.randn_like方法。
batch_size=128
下面开始读取数据:
有数据与噪声后,我们开始做前向过程了,即不断加载噪声的过程,如下图:
它们都是从一开始定义公式中得到的值中按 t 值去取,下图是取出来的结果:
上图前向过程最后返回的公式就是下图所示:
前向过程完成后,现在就是反向过程进行去噪操作了,
(2)基本建模训练效果
现在调用denoise_model方法进入到去噪的模块中,如下图: