Stable Diffusion webui 源码调试(二)
个人模型主页:LibLibai
 stable-diffusion-webui 版本:v1.4.1
内容更新随机,看心情调试代码~
分析StableDiffusionProcessingTxt2Img类中的sample函数

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

 sample函数,接收了生图时需要的全部参数
 
 可以看到初始latent图像就是 前面生成的随机图像x
 
 最后就是self.launch_sampling函数的封装,进入到sample_euler_ancestral函数,生图,latent空间中的生图细节就在这个函数里面了。
这里我们用了euler采样器,换其他采样器同理。
 
 这个函数返回x, 就是latent空间的图像,出去之后,调用decode部分的网络,就得到我们所看到的图像。
 
 不执行数据增强的情况下,直接返回 latent空间的图像。
回到process_images_inner函数(/work/stable-diffusion-webui/modules/processing.py)
 可以看到samples_ddim(latent空间的图像)经过decode_first_stage函数处理后,得到x,就是下图。
 
 先整理到这里。



















