Stable Diffusion webui 源码调试(二)

Stable Diffusion webui 源码调试(二)

个人模型主页:LibLibai
stable-diffusion-webui 版本:v1.4.1

内容更新随机,看心情调试代码~

分析StableDiffusionProcessingTxt2Img类中的sample函数

Stable Diffusion webui 源码调试(二)_第1张图片

Sampler

/work/stable-diffusion-webui/modules/sd_samplers_kdiffusion.py
这个Sampler就是真正去执行生成 latent空间的图像了。

Stable Diffusion webui 源码调试(二)_第2张图片
sample函数,接收了生图时需要的全部参数
在这里插入图片描述
可以看到初始latent图像就是 前面生成的随机图像x
Stable Diffusion webui 源码调试(二)_第3张图片
最后就是self.launch_sampling函数的封装,进入到sample_euler_ancestral函数,生图,latent空间中的生图细节就在这个函数里面了。

这里我们用了euler采样器,换其他采样器同理。
Stable Diffusion webui 源码调试(二)_第4张图片
这个函数返回x, 就是latent空间的图像,出去之后,调用decode部分的网络,就得到我们所看到的图像。
Stable Diffusion webui 源码调试(二)_第5张图片
不执行数据增强的情况下,直接返回 latent空间的图像。

回到process_images_inner函数(/work/stable-diffusion-webui/modules/processing.py)
可以看到samples_ddim(latent空间的图像)经过decode_first_stage函数处理后,得到x,就是下图。
Stable Diffusion webui 源码调试(二)_第6张图片
先整理到这里。

你可能感兴趣的:(stable,diffusion,stable,diffusion)