# AI_BOY **Repository Path**: bfanfanfan/ai_-boy ## Basic Information - **Project Name**: AI_BOY - **Description**: stable-diffusion-webui交流学习 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 2 - **Created**: 2023-04-04 - **Last Updated**: 2024-01-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # stable-diffuisn-webui主题下载安装与定制 **[stable-diffusion-webui主题下载安装与定制](./stable-diffusion-webui%E4%B8%BB%E9%A2%98%E4%B8%8B%E8%BD%BD%E5%AE%89%E8%A3%85%E4%B8%8E%E5%AE%9A%E5%88%B6.md)** **[大话Stable-Diffusion-Webui系列博客订阅](https://blog.csdn.net/weixin_40660408/article/details/131141038)** # stable-diffusion-webui官方仓库 https://github.com/AUTOMATIC1111/stable-diffusion-webui [wiki文档](https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki) # stable-diffusion-webui原理 [参考](https://stable-diffusion-art.com/how-stable-diffusion-work) 一些文章推荐: https://zhuanlan.zhihu.com/p/597247221 # stable-diffusion-webui安装指南 [参考](https://stable-diffusion-art.com/install-windows/) [NVIDIA显卡版本](https://blog.csdn.net/weixin_40660408/article/details/129896700) [AMD显卡版本](https://blog.csdn.net/weixin_40660408/article/details/130139799) [Google Colab搭建webui](安装/Google Colab上运行Stable diffusion webui.md) # stable-diffusion-webui汉化 汉化插件: https://github.com/dtlnor/stable-diffusion-webui-localization-zh_CN https://github.com/VinsonLaro/stable-diffusion-webui-chinese 双语对照翻译插件: https://github.com/journey-ad/sd-webui-bilingual-localization/blob/main/README_ZH.md # stable-diffusion-webui参数设置 [参考](https://stable-diffusion-art.com/know-these-important-parameters-for-stunning-ai-images/) ## CFG Scale **Classifier Free Guidance Scale**:提示词相关性,取值范围 1~30,值越大,生成的图像与提示词越吻合。 参数值 1:生成的图像大概率与提示词无关 3:生成的图像具有不确定性(创造性) 7:生成的图像中提示词相关性与随机性达到一个平衡,也是比较推荐的一个值 15:生成的图像更加倾向于提示词 30:严格按照提示词生成图像 ## Sampling Steps 采样步骤。图像质量随着采样步骤的增加而增加,但更高的采样步骤有时候不一定可以得到更好的图像质量,建议设置为20,然后再往上微调。 ## Sampling methods 采样方法。不同的采样方法代表求解模型的扩散方程的方式不同,但是会得到相同的计算结果,而由于数值的偏差可能会略有不同。各采样方法在采样步骤为20的情况下的计算时间如下: ![img](images/stable-diffusion-webui/image-16.png) ## Seed 随机种子。随机种子决定了初始化时的噪声模式,从而决定了最终图像的呈现。值为-1时代表每次都会生成一个随机的种子,因此每次生成的图像也不同,当固定使用一个种子时(可用于微调上一次生成的图像),每次生成图像时都会以该种子生成的图像为基础图像。如果一次生成多张图像 ,则第二张图像的种子会在第一张图像的种子基础上加1,以此类推。 ## Image size 图像输出大小。默认 512 * 512。 ## Batch size 每次生成图像的数量,可以一次生成多张图像来进行对比,进而反推当前提示词对于图像的主要影响。 ## Restore faces 人脸修复。可以对面部和眼睛进行微调。 设置-面部修复-选择 CodeFormer,之后在主界面勾选 面部修复。 ![image-20230409160033208](images/stable-diffusion-webui/image-20230409160033208.png) ![image-20230409160101530](images/stable-diffusion-webui/image-20230409160101530.png) # 模型 [模型工作原理](https://stable-diffusion-art.com/how-stable-diffusion-work/#Diffusion_model) ## 模型下载 https://huggingface.co/models?other=stable-diffusion https://civitai.com/ https://rentry.co/sdmodels https://cyberes.github.io/stable-diffusion-models/ ## 模型分类 [参考](https://stable-diffusion-art.com/models/#v2_models) * **Checkpoint models**:这些是真正的稳定扩散模型,包含生成图像所需的一切,无需额外的文件。模型文件通常 2 – 7 GB。 * **[Textual inversions](https://stable-diffusion-art.com/embedding/)**:文本倒置。通过一些提示词对图像进行微调。体积很小,通常为 10 – 100 KB,必须和稳态模型同时使用。文件格式为`.bin`或者`.pt` * **[LoRA models](https://stable-diffusion-art.com/lora/)**:该模型是对稳态模型的补充(可以看作是补丁),用于修改图像的样式,模型文件大小通常为 10-200MB,也是必须和稳态模型一起使用。 * **[Hypernetworks](https://stable-diffusion-art.com/hypernetwork/)**:该模型是对稳态模型的补充,为稳态模型的去噪模块UNet添加的额外的神经网络模块,体积大小通常为 5-300MB,也是必须和稳态模型一起使用。 * [Dreambooth](https://stable-diffusion-art.com/dreambooth/):可以对整个模型进行微调,文件大小是 Stable Diffusion 的标准文件大小,通常为 2 – 4 GB。文件格式为`ckpt` 所以,后四种模型是对第一种稳态模型的微调,可以让最终生成的图像质量更佳。 ### Embedding Textual inversions的结果,这是一种在模型中定义新关键字而不修改模型的方法。该方法之所以受到关注,是因为它能够将新样式或对象注入到具有少至 3 -5 个样本图像的模型中。也就是可以改变图像的风格样式。 #### 下载地址 https://huggingface.co/sd-concepts-library https://civitai.com/ #### 查看Embedding预设效果 https://huggingface.co/spaces/sd-concepts-library/stable-diffusion-conceptualizer 使用方式: ![image-20230402112020220](images/stable-diffusion/image-20230402112020220.png) 可以去到具体embeddings风格仓库中找到该风格的令牌标识符 ![image-20230402112207109](images/stable-diffusion/image-20230402112207109.png) #### stable-diffusion中使用Embedding 首先进入你要的embeddings风格的仓库中下载 learned_embeds.bin文件(可以重新命名,推荐以该风格名字命名,但不要改后缀.bin),将该文件放到stable-diffusion根目录下的 embeddings文件夹下,即`stable-diffusion-webui/embeddings`,重启 stable-diffusion 即可。如果启动时可以看到你自己加入的embedding名字代表就可以正常使用了: ![image-20230402113729951](images/stable-diffusion/image-20230402113729951.png) 在 stable-diffusion 中使用embedding: ``` embedding名字,自己的prompt ``` 也可以给embedding加上权重 ``` (embedding名字:权重) 自己的prompt ``` ![image-20230402115400450](images/stable-diffusion/image-20230402115400450.png) #### 注意事项 * stable-diffusion1.5的Embedding和stable-diffusion2.0的Embedding不能一起使用,因为他们的语言模型不同 ### Dreambooth dreambooth 由谷歌研究团队于 2022 年发布,可以将具体的主题(比如一个人、一个动物)放入标准模型中对整个模型进行微调,许多的自定义模型也是通过dreambooth训练的 ### Hypernetwork Hypernetwork 是一种微调技术,最初由 Novel AI 开发,是一个可以附加到稳定扩散模型的小型神经网络,主要用于修改稳态扩散模型中的噪声预测器 UNet的Cross-attention模块,从而达到修改样式的目的。 特点:训练快;神经网络文件小 ![image-20230403205620890](images/stable-diffusion/image-20230403205620890.png) LoRA模型同样是修改了稳态模型的这一部分,但是采取的方式不同,Hypernetwork 通过新增神经网络的方式更改稳态扩散模型,而LoRA通过改变权重的方式来更改稳态扩散模型。 #### 下载地址 https://civitai.com/ #### stable-diffusion中使用Hypernetwork 将下载的 Hypernetwork 放到 stable-diffusion-webui/models/hypernetworks 文件夹下,以这个模型为例: https://civitai.com/models/1399/water-elemental 将以上链接中下载好的模型放入models/hypernetworks 文件夹下,然后按照下图步骤 ![image-20230403214031765](images/stable-diffusion/image-20230403214031765.png) #### Hypernetwork训练指南 https://github.com/AUTOMATIC1111/stable-diffusion-webui/discussions/2670 ### LoRA LoRA(低秩适应)是一种用于微调稳定扩散模型的训练技术,具有体积小、训练速度快的特点。LoRA 对稳定扩散模型最关键的部分 **cross-attention layers** 进行了微小的更改。**cross-attention layers **是模型中图像和提示词相交的部分,通过微调模型的这一部分就足以实现比较好的的训练效果。以下稳定扩散模型架构中的黄色部分代表了**cross-attention layers **。LoRA可以将一个高阶矩阵分解为多个矩阵,这也是它提交比较小的原因。 ![img](images/stable-diffusion/image-183.png) #### 下载地址 https://civitai.com/ https://huggingface.co/lora-library https://huggingface.co/models?other=stable-diffusion&sort=downloads&search=lora #### LoRA在线训练 https://huggingface.co/spaces/lora-library/LoRA-DreamBooth-Training-UI #### stable-diffusion中使用LoRA 将下载的 LoRA 模型放到 项目目录下的`stable-diffusion-webui/models/Lora`文件夹中即可。可以同时使用多个LoRA,模型,也可以和Embedding模型一起使用。 ![image-20230404222348112](images/stable-diffusion/image-20230404222348112.png) # 插件(扩展) webui可以安装一些扩展插件,比如汉化插件。插件目录位于webui根目录下的`extensions`文件夹。官方推荐的一些[插件](https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Extensions)。 插件的安装:比如这里安装[kitchen-theme](https://github.com/canisminor1990/sd-web-ui-kitchen-theme),在webui的根目录下直接将插件克隆到`extensions`文件夹即可。 ```cmd git clone "https://github.com/canisminor1990/sd-web-ui-kitchen-theme" extensions/kitchen-theme ``` ## 插件推荐 [prompt自动补全](https://github.com/DominikDoom/a1111-sd-webui-tagcomplete/blob/main/README_ZH.md) [Civitai插件](https://github.com/butaixianran/Stable-Diffusion-Webui-Civitai-Helper) [Civitai官方插件-还在开发中](https://github.com/civitai/sd_civitai_extension) # webui界面设置 除了可以将模型选择放在最上面的Tab栏之外,其实还可以将其他设置也放在该Tab栏,比如这里将vae、clip相关设置放在Tab栏: 设置-用户界面-快捷键设置列表,默认为 `sd_model_checkpoint`,现在修改为`sd_model_checkpoint,sd_vae,CLIP_stop_at_last_layers`,然后保存设置,重新加载UI即可。其实这些设置的值都可以在webui根目录下的`config.json`中找到。 ![](images/README/Snipaste_2023-04-17_21-43-58.png) ![](images/README/Snipaste_2023-04-17_21-50-35.png)