B—sports必一

PRODUCT

b体育官网
CONTACT US
023-63826275
13637916788(李经理)
2659952367
重庆市巴南区其龙村四社
界石镇界南路235号(力阳嘉渝对面)
B—sports必一,欢迎来样定做
Stable Diffusion 新手入门手册
发布时间:2024-02-28 02:33:18 来源:必一sport网页版登录 作者:b体育官网

基本信息:

咨询热线:13637916788
产品详情

  建议使用不少于 16 GB 内存,并有 60GB 以上的硬盘空间。 需要用到 CUDA 架构,推荐使用 N 卡。(目前已经有了对 A 卡的相关支持,但运算的速度依旧明显慢于 N 卡,参见:

  stable diffusion webui 的完整环境占用空间极大,能达到几十 G。同时,webui 需要联网下载安装大量的依赖,在境内的网络环境下下载很慢,请自带科学上网工具。

  觉得麻烦的同学可以使用整合包,解压即用。 比如独立研究员的空间下经常更新整合包。秋叶的启动器也非常好用,将启动器复制到下载仓库的目录下即可,更新管理会更方便。

  显存优化根据显卡实际显存选择,不要超过当前显卡显存。不过并不是指定了显存优化量就一定不会超显存,在出图时如果启动了过多的优化项(如高清修复、人脸修复、过大模型)时,依然有超出显存导致出图失败的几率。

  xFormers 能极大地改善了内存消耗和速度,建议开启。准备工作完毕后,点击一键启动即可。等待浏览器自动跳出,或是控制台弹出本地 URL 后说明启动成功

  Stable Diffusion webui 的更新比较频繁,请根据需求在“版本管理”目录下更新:

  Stable Diffusion 可配置大量插件扩展,在 webui 的“扩展”选项卡下,可以安装插件:

  选择使用哪种采样器。 Euler a(Eular ancestral)可以以较少的步数产生很大的多样性,不同的步数可能有不同的结果。而非 ancestral 采样器都会产生基本相同的图像。DPM 相关的采样器通常具有不错的效果,但耗时也会相应增加。

  Euler a 更多样,不同步数可以生产出不同的图片。但是太高步数 (30) 效果不会更好。

  DDIM 收敛快,但效率相对较低,因为需要很多 step 才能获得好的结果,适合在重绘时候使用。

  LMS 是 Euler 的衍生,它们使用一种相关但稍有不同的方法(平均过去的几个步骤以提高准确性)。大概 30 step 可以得到稳定结果

  DPM2 是一种神奇的方法,它旨在改进 DDIM,减少步骤以获得良好的结果。它需要每一步运行两次去噪,它的速度大约是 DDIM 的两倍,生图效果也非常好。但是如果你在进行调试提示词的实验,这个采样器可能会有点慢了。

  同时生成多少个图像。增加这个值可以提高性能,但也需要更多的显存。大的 Batch Size 需要消耗巨量显存。若没有超过 12G 的显存,请保持为 1。

  指定图像的长宽。出图尺寸太宽时,图中可能会出现多个主体。1024 之上的尺寸可能会出现不理想的结果,推荐使用小尺寸分辨率+高清修复(Hires fix)。

  种子决定模型在生成图片时涉及的所有随机性,它初始化了 Diffusion 算法起点的初始值。

  理论上,在应用完全相同参数(如 Step、CFG、Seed、prompts)的情况下,生产的图片应当完全相同。

  通过勾选 Highres. fix 来启用。 默认情况下,文生图在高分辨率下会生成非常混沌的图像。如果使用高清修复,会型首先按照指定的尺寸生成一张图片,然后通过放大算法将图片分辨率扩大,以实现高清大图效果。最终尺寸为(原分辨率*缩放系数 Upscale by)。

  放大算法中,Latent 在许多情况下效果不错,但重绘幅度小于 0.5 后就不甚理想。ESRGAN_4x、SwinR 4x 对 0.5 以下的重绘幅度有较好支持。

  Denoising strength 字面翻译是降噪强度,表现为最后生成图片对原始输入图像内容的变化程度。该值越高,放大后图像就比放大前图像差别越大。低 denoising 意味着修正原图,高 denoising 就和原图就没有大的相关性了。一般来讲阈值是 0.7 左右,超过 0.7 和原图基本上无关,0.3 以下就是稍微改一些。实际执行中,具体的执行步骤为 Denoising strength * Sampling Steps。

  提示词所做的工作是缩小模型出图的解空间,即缩小生成内容时在模型数据里的检索范围,而非直接指定作画结果。 提示词的效果也受模型的影响,有些模型对自然语言做特化训练,有些模型对单词标签对特化训练,那么对不同的提示词语言风格的反应就不同。

  自然语言 可以使用描述物体的句子作为提示词。大多数情况下英文有效,也可以使用中文。避免复杂的语法。

  单词标签 可以使用逗号隔开的单词作为提示词。一般使用普通常见的单词。单词的风格要和图像的整体风格搭配,否则会出现混杂的风格或噪点。避免出现拼写错误。 可参考

  Emoji、颜文字 Emoji ( ) 表情符号也是可以使用并且非常准确的。因为 Emoji 只有一个字符,所以在语义准确度上表现良好。关于 emoji 的确切含义,可以参考,同时 Emoji 在构图上有影响。

  对于使用 Danbooru 数据的模型来说,可以使用西式颜文字在一定程度上控制出图的表情。如::-) 微笑 :-( 不悦 ;-) 使眼色 :-D 开心 :-P 吐舌头 :-C 很悲伤 :-O 惊讶 张大口 :-/ 怀疑

  一般而言,概念性的、大范围的、风格化的关键词写在前面,叙述画面内容的关键词其次,最后是描述细节的关键词,大致顺序如:

  不过在模型中,每个词语本身自带的权重可能有所不同,如果模型训练集中较多地出现某种关键词,我们在提示词中只输入一个词就能极大地影响画面,反之如果模型训练集中较少地出现某种关键词,我们在提示词中可能输入很多个相关词汇都对画面的影响效果有限。 提示词的顺序很重要,越靠后的权重越低。关键词最好具有特异性,譬如 Anime(动漫)一词就相对泛化,而 Jojo 一词就能清晰地指向 Jojo 动漫的画风。措辞越不抽象越好,尽可能避免留下解释空间的措辞。

  还可以通过 Prompt Editing 使得 AI 在不同的步数生成不一样的内容,譬如在某阶段后,绘制的主体由男人变成女人。

  Preprocessor 指预处理器,它将对输入的图像进行预处理。如果图像已经符合预处理后的结果,请选择 None。譬如,图中导入的图像已经是 OpenPose 需要的骨架图,那么 preprocessor 选择 none 即可。

  在 Weight 下,可以调整该项 ControlNet 的在合成中的影响权重,与在 prompt 中调整的权重类似。Guidance strength 用来控制图像生成的前百分之多少步由 Controlnet 主导生成,这点与[:]语法类似。

  Invert Input Color 表示启动反色模式,如果输入的图片是白色背景,开启它。

  RGB to BGR 表示将输入的色彩通道信息反转,即 RGB 信息当做 BGR 信息解析,只是因为 OpenCV 中使用的是 BGR 格式。如果输入的图是法线贴图,开启它。

  Model 中请选择想要使用解析模型,应该与输入的图像或者预处理器对应。请注意,预处理器可以为空,但模型不能为空。

  下载模型后需要将之放置在指定的目录下,请注意,不同类型的模型应该拖放到不同的目录下。 模型的类型可以通过Stable Diffusion 法术解析检测。

  对人物、姿势、物体表现较好的模型,在 ckpt 模型上附加使用。 在 webui 界面的 Additional Networks 下勾线 Enable 启用,然后在 Model 下选择模型,并可用 Weight 调整权重。权重越大,该 Lora 的影响也越大。 不建议权重过大(超过 1.2),否则很容易出现扭曲的结果。

  多个 lora 模型混合使用可以起到叠加效果,譬如一个控制面部的 lora 配合一个控制画风的 lora 就可以生成具有特定画风的特定人物。 因此可以使用多个专注于不同方面优化的 Lora,分别调整权重,结合出自己想要实现的效果。

  对人物、画风都有调整效果的模型。在提示词中加入对应的关键词即可。大部分 Embedding 模型的关键词与文件名相同,譬如一个名为为“SomeCharacter.pt”的模型,触发它的关键词检索“SomeCharacter”。

  在执行“accelerate config”后,它将询问一些设置选项。请按照以下选项依次选择:

  模型训练主要有三种结果:欠拟合,效果好,过拟合。 欠拟合:模型完全没有从数据集中学习到经验,对各种输入都得出差距很大的结果。 效果好:模型不仅对训练集中的输入有接近的结果,对不来自训练集中的输入也有接近的效果。 过拟合:模型只训练集中的输入有非常非常接近的结果,对不来自训练集中的输入给出差距很大的结果。

  将训练集裁剪为多个尺寸相同的图片。可以在 SD webui 界面中自动裁剪,也可以手动裁切。

  一般使用的图片尺寸是 512*512,也可更换为其他尺寸,尺寸越大占用显存越高,但对细节的捕捉也会越好。

  以此类推,我们需要为目标绑定什么要素,就将它从关键词中删去。而类似于动作、背景这种与对象绑定关系不紧密,在日后生成图期间需要改变的,就保留在关键词中。

  训练集中的每张图片通常能被分解为两大部分:“训练目标+其他要素”,依然以 Smith 为例:

  其中,”铁匠铺、打铁、铁匠“都是模型中已有的内容,称为“先验知识”。我们需要将这部分知识为 AI 指明,省去重新学习这部分内容的时间;也能引导 AI 明确学习的目标,让模型具有更好的泛化性。

  正则化的标签需要与训练集中的 Class 相对应,图片数量也要一致。正则化不是必须的,可以根据训练集的情况和训练目的的不同来调整。同一张图片不允许在训练集和正则化中同时出现。

  在训练前,我们需要用特定的方式组织文件路径: 譬如,训练目标是一群女孩,其中有一位名为 sls 的女孩好一位名为 cpc 的女孩,那么文件路径应该为:

  其中,traingirls 目录下放置的是训练集,命名规则是“训练次数标识符 类别”,如“10_sls 1girl”表示“名为 sls 的对象,她是一个女孩(类别),这个文件夹下的训练集每个训练 10 次”。

  reggirls 目录下放置的是正则化内容。命名规则是“训练次数类别”,如“1_1girl“表示”文件夹下的图片都是一个女孩,不重复使用数据“。*需要日后补充

  它表明我们此次训练将以哪个模型为基础进行训练。 这个模型需要根据自己的需求选择。如果很明确自己的目标是属于某一大类下的分支,那么可以用接近这一大类的模型进行训练。譬如想训练一个二次元角色,那么可以使用二次元的底模(如 NovelAI)进行训练。如果自己的像训练的目标需要比较好的泛化性,可以使用 sd 模型,因为它包含的人物、物品、风格最多。 如果模型为 sd2.0,则需要勾选 v2 和 v_parameterization

  Training parameters 下的 Max Resolution 用于指定当前输入训练集图片的分辨率,请与文件夹内的保持一致。如果尺寸不一会被裁切。

  Epoch 是指一次将训练集中的所有样本训练一次(即对每个样本完成一次正向传播与一次反向传播)的过程。有时,由于一个训练样本过于庞大,它会被分成多个小块分批学。