在 Stable Diffusion 中,模型的格式有多种,比如:
在 save_model_as 中,每次模型权重保存时的格式可以选择["ckpt","safetensors","diffusers","diffusers_safetensors"],目前 SD WebUI 兼容"ckpt"和"safetensors"格式模型。
SD模型权重百度云网盘:关注Rocky的公众号WeThinkIn,后台回复:SD模型,即可获得资源链接,包含Stable Diffusion 1.4模型权重、Stable Diffusion 1.5模型权重、Stable Diffusion I npainting模型权重、Stable Diffusion 2 base(512x512)模型权重、Stable Diffusion 2(768x768)模型权重、Stable Diffusion 2 Inpainting模型权重、Stable Diffusion 2.1 base(512x512)模型权重、Stable Diffusion 2.1(768x768)模型权重、Stable Diffusion Turbo模型权重、S table Diffusion x4 Upscaler(超分)模型权重以及consistency-decoder模型权重。不同格式的模型权重比如safetensors格式、ckpt格式、diffusers格式、FP16精度格式、ONNX格式、flax/jax格式以及openvino格式等均已包含。SD保姆级训练资源百度云网盘:关注Rocky的公众号WeThinkIn,后台回复:SD-Train,即可获得资源链接,包含数据处理、SD模型微调训练以及基于SD的LoRA模型训练代码全套资源,帮助大家从0到1快速上手训练属于自己的SD AI绘画模型。更多SD训练资源使用教程,请看本文第六章内容。Stable Diffusion中VAE,U-Net和CLIP三大模型的可视化网络结构图下载:关注Rocky的公众号WeThinkIn,后台回复:SD网络结构,即可获得网络结构图资源链接。
save_model_as:每次模型权重保存时的格式,可以选择["ckpt","safetensors","diffusers","diffusers_safetensors"],目前SD WebUI兼容"ckpt"和"safetensors"格式模型。(3)SD关键参数详解(4)SD模型训练完成训练参数配置后,我们就可以运行训练脚本进行SD模型的全参微调训练了。我们本次训练用的底模型选择了WeThinkIn_SD_二次元模型,大家可以关注Rocky的公众号WeThinkIn,后台回复“ SD_二次元模型”获取模型资源链接。我们打开SD_finetune.sh脚本,可以看到以下的代码:我们把训练脚本封装在accelerate库里,这样就能启动我们一开始配置的训练环境了。在本文的6.2节中,我们已经详细介绍了如何配置accelerate训练环境,如果我们想要切换不同的训练环境参数,我们只需要将accelerate_config.yaml改成我们所需要的配置文件与路径即可(比如:/本地路径/new_accelrate_config.yaml)。除了上述的训练环境参数传入,最重要的还是将刚才配置好的config_file.toml和sample_prompt.txt参数传入训练脚本中。
下面关于LDM的一些细节介绍,不感兴趣的同学可以直接跳过。理解了latent的含义后,接下来再考虑下如何根据文本来生成图片呢?既然要接收文本,那就需要给模型安排上文本编码器(text encoder),把文本转化为模型能够理解的东西。Stable Diffusion采用了CLIP的文本编码器,它的输入是一段文本,输出是77个token的embeddings向量,每个向量的维度为768(可以理解为一段话最多保留77个字(或词),每个字(或词)用768维的向量表示)。然后就可以愉快地像之前的DDPM一样,预测噪声,最小化MSE,学习模型了!最后再来一张整体的结构图总结一下