comfyui SD3
comfyui SD3
comfyui SD3 comfyui SD3 Modified December 13, 2024 6. Q、K、V(查询、键和值): ◦ 注意力机制中的查询、键和值。 7. Attention(注意力机制): ◦ 通过注意力机制关注输入数据中最相关的信息。 8. Layernorm(层归一化): ◦ 在注意力机制后再次进行层归一化处理。 9. γ e 和 ε e(调制参数): ◦ 调制输出向量的参数。 10. MLP(多层感知器): ◦ 对注意力机制后的数据进行进一步处理。 11. +(加法操作): ◦ 将处理后的数据与输入数据相加,形成反馈环。 12. Output(输出): ◦ 模块输出,供下一层使用。 预训练文本编码器 使用了三个固定的预训练文本编码器(CLIP ViT/G、CLIP ViT/L 和 T5 xxl)。 CLIP ViT/G:是一种视觉和文本编码器,优化了图像和文本之间的关系理解。 CLIP ViT/L:专注于从图像和文本对中提取特征,进一步增强了模型的多模态理解能力。 T5 xxl:一个强大的文本生成模型,增强了文本提示的理解和生成能力。 在Stable Diffusion 3 (SD3)中使用三个文本预处理器是为了更好地解析和处理输入的文本提示,使生成的图像更符合预期。具体来说,这些预处理器是CLIP G、CLIP L和T5 XXL。每个预处理器有不同的特点和用途: 1. CLIP G: ◦ CLIP G(大模型版本)用于处理和理解输入文本,以生成动态和富有变化的图像构图。例如,CLIP G可以生成偏中心的主体和多样的角度,使图像看起来更加生动和自然。 ◦ 它能够处理复杂的描述和细节,但在处理非常具体的细节时可能效果不如CLIP L。 2. CLIP L: ◦ CLIP L(大模型版本)用于处理更具体和详细的描述。它更注重文本提示中的细节和风格,例如光照、媒介和风格。 ◦ CLIP L在处理主体时会使构图变得更僵硬和居中,但这有助于生成高细节的图像。 3. T5 XXL: ◦ T5 XXL是一个文本生成模型,辅助CLIP模型更好地理解和生成复杂的文本提示。 CLIP G和CLIP L的区别 • CLIP G更适合生成具有动态构图的图像,适用于广义的描述和整体氛围的营造。 • CLIP L更适合生成高细节的图像,处理具体的细节和风格描述,但在构图上较为僵硬。 使用这三个预处理器的组合,SD3可以同时生成动态、细节丰富且风格独特的图像 Stable Diffusion 3 Medium模型有三种变体 1. sd3 medium.safetensors:包含MMDiT和VAE权重,但不包括文本编码器。sd3 medium 2. sd3 medium incl clips t5xxlfp8.safetensors:包含所有必要权重,包括fp8版本的T5XXL文本编码器,平衡质量和资源需求。= sd3 medium + CLIP ViT/G + CLIP ViT/L + T5 xxl 3. sd3 medium incl clips.safetensors:包含所有必要权重,不包括T5XXL文本编码器,资源需求少,但性能有所不同。= sd3 medium + CLIP ViT/G + CLIP ViT/L T5 XXL模型的不同版本: 1. t5xxl fp16.safetensors: ◦ 使用FP16(16位浮点数)精度。 ◦ 文件大小约为9.79GB。 ◦ FP16精度能够提供较高的计算效率和较少的内存占用,同时保持较好的模型性能。 2. t5xxl fp8 e4m3fn.safetensors: ◦ 使用FP8(8位浮点数)精度。 ◦ 文件大小约为4.89GB。 ◦ FP8精度提供了更高的内存和计算效率,但可能会在某些情况下牺牲模型性能。 选择哪个版本取决于你的计算资源和对模型精度的需求。 采样器与调度器测试 【超级会员V5】通过百度网盘分享的文件:stable d… 链接:https://pan.baidu.com/s/1WYzfsS7QFwNW t7RiUefGA?pwd=cycy 提取码:cycy 复制这段内容打开「百度网盘APP 即可获取」 提示词 提示词长度 SD3 中使用的重大变化是提示词。长度可以传递非常长且描述性的提示,并获得非常符合提示的图像。不再受限于 CLIP 文本编码器的 77 个token限制(可以长达 10,000 个字符,或超过 1,500 个单词)。 不要使用负面提示 SD3没有对负面提示词进行训练. 当在sd3里面使用负面提示词,并不会像sd1.5或者sdxl中为你在画面中去除对应的元素.使用负提示词不会有效地去除你不想要的元素。相反,它会引入随机变化,使图像结果不稳定,类似于使用了不同的随机种子。这是因为SD3没有针对负提示词进行训练,所以它不会按照你期望的方式起作用。负提示词不会消除特定的内容,而只是引入噪声,使生成的图像发生随机变化。 提示词的技巧 现在SD3可以使用更长的提示短语,因为sd3有更好的提示遵循性能,当然依然也可以使用逗号来分割每个关键词.如果需要描述一个具体的东西,在提示词中详细明确的描述出来,这有助于sd3更好的理解. 采样器相关的设置 推荐的参数设置 步数 28步(26 36步) CFG 模型输出与提示词的相似程度。对于 SD3 推荐 3.5 4.5 ,你需要使用比 SD 1.5 和 SDXL 更低的值。如果图像的对比度的过高, 降低CFG值可以减少过高的对比度,使图像更自然和均衡. 另外CFG值越低,三个文本编码器对图像的影响就越小. 采样器与调度器 comfyui中 dpmpp 2m 与 sgm uniform 有些采样器和调度器根本无法与 SD3 配合使用——特别是 ancestral 和 sde 采样器以及流行的 SDXL 噪声调度器 karras 图片的宽高 与 SDXL 类似,SD3 在大约 1 百万像素时输出的效果最佳,也就是长乘宽的像素总是在一百万左右。分辨率必须是 64 的倍数。 这些分辨率都是64的倍数,并且总像素数接近100万像素,符合Stable Diffusion 3的最佳输出要求: 下面是每个比例的像素和长宽比: • 1:1 1024 x 1024 ◦ 像素总数:1,048,576 ◦ 比例:1:1 • 16:9 1344 x 768 ◦ 像素总数:1,031,232 ◦ 比例:1.75(接近16:9) • 9:16 768 x 1344 ◦ 像素总数:1,031,232 ◦ 比例:0.57(接近9:16) • 21:9 1536 x 640 ◦ 像素总数:983,040 ◦ 比例:2.4(接近21:9) • 9:21 640 x 1536 ◦ 像素总数:983,040 ◦ 比例:0.42(接近9:21) • 3:2 1216 x 832 ◦ 像素总数:1,011,712 ◦ 比例:1.46(接近3:2) • 2:3 832 x 1216 ◦ 像素总数:1,011,712 ◦ 比例:0.68(接近2:3) • 5:4 1088 x 896 ◦ 像素总数:974,848 ◦ 比例:1.21(接近5:4) • 4:5 896 x 1088 ◦ 像素总数:974,848 ◦ 比例:0.82(接近4:5) 新增的shift值 在Stable Diffusion 3(SD3)中,Shift参数用于调整时间步调度的偏移。时间步调度涉及在生成过程中控制噪声水平。更高的Shift值有助于在高分辨率图像中更好地管理噪声,使得生成的图像更加清晰和自然。通过调整Shift参数,可以优化生成图像的质量。 6. Q、K、V(查询、键和值): ◦ 注意力机制中的查询、键和值。 ◦ 注意力机制中的查询、键和值。 7. Attention(注意力机制): ◦ 通过注意力机制关注输入数据中最相关的信息。 ◦ 通过注意力机制关注输入数据中最相关的信息。 8. Layernorm(层归一化): ◦ 在注意力机制后再次进行层归一化处理。 ◦ 在注意力机制后再次进行层归一化处理。 9. γ e 和 ε e(调制参数): ◦ 调制输出向量的参数。 ◦ 调制输出向量的参数。 10. MLP(多层感知器): ◦ 对注意力机制后的数据进行进一步处理。 ◦ 对注意力机制后的数据进行进一步处理。 11. +(加法操作): ◦ 将处理后的数据与输入数据相加,形成反馈环。 ◦ 将处理后的数据与输入数据相加,形成反馈环。 12. Output(输出): ◦ 模块输出,供下一层使用。 ◦ 模块输出,供下一层使用。 预训练文本编码器 使用了三个固定的预训练文本编码器(CLIP ViT/G、CLIP ViT/L 和 T5 xxl)。 CLIP ViT/G:是一种视觉和文本编码器,优化了图像和文本之间的关系理解。 CLIP ViT/L:专注于从图像和文本对中提取特征,进一步增强了模型的多模态理解能力。 T5 xxl:一个强大的文本生成模型,增强了文本提示的理解和生成能力。 在Stable Diffusion 3 (SD3)中使用三个文本预处理器是为了更好地解析和处理输入的文本提示,使生成的图像更符合预期。具体来说,这些预处理器是CLIP G、CLIP L和T5 XXL。每个预处理器有不同的特点和用途: 1. CLIP G: ◦ CLIP G(大模型版本)用于处理和理解输入文本,以生成动态和富有变化的图像构图。例如,CLIP G可以生成偏中心的主体和多样的角度,使图像看起来更加生动和自然。 ◦ 它能够处理复杂的描述和细节,但在处理非常具体的细节时可能效果不如CLIP L。 ◦ CLIP G(大模型版本)用于处理和理解输入文本,以生成动态和富有变化的图像构图。例如,CLIP G可以生成偏中心的主体和多样的角度,使图像看起来更加生动和自然。 ◦ 它能够处理复杂的描述和细节,但在处理非常具体的细节时可能效果不如CLIP L。 2. CLIP L: ◦ CLIP L(大模型版本)用于处理更具体和详细的描述。它更注重文本提示中的细节和风格,例如光照、媒介和风格。 ◦ CLIP L在处理主体时会使构图变得更僵硬和居中,但这有助于生成高细节的图像。 ◦ CLIP L(大模型版本)用于处理更具体和详细的描述。它更注重文本提示中的细节和风格,例如光照、媒介和风格。 ◦ CLIP L在处理主体时会使构图变得更僵硬和居中,但这有助于生成高细节的图像。 3. T5 XXL: ◦ T5 XXL是一个文本生成模型,辅助CLIP模型更好地理解和生成复杂的文本提示。 ◦ T5 XXL是一个文本生成模型,辅助CLIP模型更好地理解和生成复杂的文本提示。 CLIP G和CLIP L的区别 • CLIP G更适合生成具有动态构图的图像,适用于广义的描述和整体氛围的营造。 • CLIP L更适合生成高细节的图像,处理具体的细节和风格描述,但在构图上较为僵硬。 使用这三个预处理器的组合,SD3可以同时生成动态、细节丰富且风格独特的图像 Stable Diffusion 3 Medium模型有三种变体 1. sd3 medium.safetensors:包含MMDiT和VAE权重,但不包括文本编码器。sd3 medium 2. sd3 medium incl clips t5xxlfp8.safetensors:包含所有必要权重,包括fp8版本的T5XXL文本编码器,平衡质量和资源需求。= sd3 medium + CLIP ViT/G + CLIP ViT/L + T5 xxl 3. sd3 medium incl clips.safetensors:包含所有必要权重,不包括T5XXL文本编码器,资源需求少,但性能有所不同。= sd3 medium + CLIP ViT/G + CLIP ViT/L T5 XXL模型的不同版本: 1. t5xxl fp16.safetensors: ◦ 使用FP16(16位浮点数)精度。 ◦ 文件大小约为9.79GB。 ◦ FP16精度能够提供较高的计算效率和较少的内存占用,同时保持较好的模型性能。 ◦ 使用FP16(16位浮点数)精度。 ◦ 文件大小约为9.79GB。 ◦ FP16精度能够提供较高的计算效率和较少的内存占用,同时保持较好的模型性能。 2. t5xxl fp8 e4m3fn.safetensors: ◦ 使用FP8(8位浮点数)精度。 ◦ 文件大小约为4.89GB。 ◦ FP8精度提供了更高的内存和计算效率,但可能会在某些情况下牺牲模型性能。 ◦ 使用FP8(8位浮点数)精度。 ◦ 文件大小约为4.89GB。 ◦ FP8精度提供了更高的内存和计算效率,但可能会在某些情况下牺牲模型性能。 选择哪个版本取决于你的计算资源和对模型精度的需求。 采样器与调度器测试 【超级会员V5】通过百度网盘分享的文件:stable d… 链接:https://pan.baidu.com/s/1WYzfsS7QFwNW t7RiUefGA?pwd=cycy 提取码:cycy 复制这段内容打开「百度网盘APP 即可获取」 提示词 提示词长度 SD3 中使用的重大变化是提示词。长度可以传递非常长且描述性的提示,并获得非常符合提示的图像。不再受限于 CLIP 文本编码器的 77 个token限制(可以长达 10,000 个字符,或超过 1,500 个单词)。 不要使用负面提示 SD3没有对负面提示词进行训练. 当在sd3里面使用负面提示词,并不会像sd1.5或者sdxl中为你在画面中去除对应的元素.使用负提示词不会有效地去除你不想要的元素。相反,它会引入随机变化,使图像结果不稳定,类似于使用了不同的随机种子。这是因为SD3没有针对负提示词进行训练,所以它不会按照你期望的方式起作用。负提示词不会消除特定的内容,而只是引入噪声,使生成的图像发生随机变化。 提示词的技巧 现在SD3可以使用更长的提示短语,因为sd3有更好的提示遵循性能,当然依然也可以使用逗号来分割每个关键词.如果需要描述一个具体的东西,在提示词中详细明确的描述出来,这有助于sd3更好的理解. 采样器相关的设置 推荐的参数设置 步数 28步(26 36步) CFG 模型输出与提示词的相似程度。对于 SD3 推荐 3.5 4.5 ,你需要使用比 SD 1.5 和 SDXL 更低的值。如果图像的对比度的过高, 降低CFG值可以减少过高的对比度,使图像更自然和均衡. 另外CFG值越低,三个文本编码器对图像的影响就越小. 采样器与调度器 comfyui中 dpmpp 2m 与 sgm uniform 有些采样器和调度器根本无法与 SD3 配合使用——特别是 ancestral 和 sde 采样器以及流行的 SDXL 噪声调度器 karras 图片的宽高 与 SDXL 类似,SD3 在大约 1 百万像素时输出的效果最佳,也就是长乘宽的像素总是在一百万左右。分辨率必须是 64 的倍数。 这些分辨率都是64的倍数,并且总像素数接近100万像素,符合Stable Diffusion 3的最佳输出要求: 下面是每个比例的像素和长宽比: • 1:1 1024 x 1024 ◦ 像素总数:1,048,576 ◦ 比例:1:1 ◦ 像素总数:1,048,576 ◦ 比例:1:1 • 16:9 1344 x 768 ◦ 像素总数:1,031,232 ◦ 比例:1.75(接近16:9) ◦ 像素总数:1,031,232 ◦ 比例:1.75(接近16:9) • 9:16 768 x 1344 ◦ 像素总数:1,031,232 ◦ 比例:0.57(接近9:16) ◦ 像素总数:1,031,232 ◦ 比例:0.57(接近9:16) • 21:9 1536 x 640 ◦ 像素总数:983,040 ◦ 比例:2.4(接近21:9) ◦ 像素总数:983,040 ◦ 比例:2.4(接近21:9) • 9:21 640 x 1536 ◦ 像素总数:983,040 ◦ 比例:0.42(接近9:21) ◦ 像素总数:983,040 ◦ 比例:0.42(接近9:21) • 3:2 1216 x 832 ◦ 像素总数:1,011,712 ◦ 比例:1.46(接近3:2) ◦ 像素总数:1,011,712 ◦ 比例:1.46(接近3:2) • 2:3 832 x 1216 ◦ 像素总数:1,011,712 ◦ 比例:0.68(接近2:3) ◦ 像素总数:1,011,712 ◦ 比例:0.68(接近2:3) • 5:4 1088 x 896 ◦ 像素总数:974,848 ◦ 比例:1.21(接近5:4) ◦ 像素总数:974,848 ◦ 比例:1.21(接近5:4) • 4:5 896 x 1088 ◦ 像素总数:974,848 ◦ 比例:0.82(接近4:5) ◦ 像素总数:974,848 ◦ 比例:0.82(接近4:5) 新增的shift值 在Stable Diffusion 3(SD3)中,Shift参数用于调整时间步调度的偏移。时间步调度涉及在生成过程中控制噪声水平。更高的Shift值有助于在高分辨率图像中更好地管理噪声,使得生成的图像更加清晰和自然。通过调整Shift参数,可以优化生成图像的质量。 默认值是 3.0 时间步调度偏移(timestep scheduling shift) 在图像生成的每一步中,模型会加入一些噪声,然后再逐步减少噪声以生成最终图像。时间步调度指的是如何在这些步骤中安排和调整噪声的加入和减少。Shift参数则影响这一过程,通过改变时间步调度的偏移,能够更好地管理噪声,特别是在高分辨率图像中,从而提升图像的质量。 所以,采样器负责具体的采样过程,而调度器则管理整个生成过程的参数调整和步调协调。Shift参数是在调度器的基础上进一步优化这些步骤,特别是针对高分辨率图像。 原文地址(感谢 fofr)https://replicate.com/blog/get the best from stable diffusion 3 SD3 研究论文 https://arxiv.org/pdf/2403.03206 工作流与模型地址 https://pan.quark.cn/s/5fb9fac04da1 https://pan.baidu.com/s/1eSSc123sQiFNe5czGgt1Xw?pwd=cycy 说明文档 https://xiaobot.net/post/6cf6c616 925d 467b b492 1a501421e929 项目地址 https://huggingface.co/stabilityai/stable diffusion 3 medium (a) 所有组件的概述 1. Caption(描述文字): ◦ 输入的文字描述。 ◦ 输入的文字描述。 2. CLIP G/14、CLIP L/14、T5 XXL(文本编码器): ◦ 这些是将描述文字转换为tokens(文本向量)的三个预训练文本编码器。 ◦ 这些是将描述文字转换为tokens(文本向量)的三个预训练文本编码器。 3. Pooled(汇总): ◦ 汇总三个文本编码器生成的tokens。 ◦ 汇总三个文本编码器生成的tokens。 4. 77 + 77 tokens: ◦ 每个文本编码器生成77个token,总共154个token。 ◦ 每个文本编码器生成77个token,总共154个token。 5. 4096 channel: ◦ 将文本向量合并成4096个通道的表示。 ◦ 将文本向量合并成4096个通道的表示。 6. MLP(多层感知器): ◦ 对汇总后的文本向量进行处理。 ◦ 对汇总后的文本向量进行处理。 7. y(输入向量): ◦ 经过MLP处理的文本向量。 ◦ 经过MLP处理的文本向量。 8. Linear(线性变换): ◦ 将输入向量线性变换为统一格式。 ◦ 将输入向量线性变换为统一格式。 9. c(线性变换后的向量): ◦ 经过线性变换后的文本向量。 ◦ 经过线性变换后的文本向量。 10. Positional Embedding(位置嵌入): ◦ 为tokens添加位置信息,帮助模型理解输入数据的顺序和结构。 ◦ 为tokens添加位置信息,帮助模型理解输入数据的顺序和结构。 11. +(加法操作): ◦ 将位置嵌入后的向量与噪声潜变量相加。 ◦ 将位置嵌入后的向量与噪声潜变量相加。 12. x(位置嵌入后的向量): ◦ 加入位置嵌入信息后的向量。 ◦ 加入位置嵌入信息后的向量。 13. Noised Latent(噪声潜变量): ◦ 输入的噪声。 ◦ 输入的噪声。 14. Patching(切片): ◦ 将噪声潜变量切片成小块。 ◦ 将噪声潜变量切片成小块。 15. Linear(线性变换): ◦ 对切片后的噪声潜变量进行线性变换。 ◦ 对切片后的噪声潜变量进行线性变换。 16. Sinusoidal Encoding(正弦编码): ◦ 对时间步信息进行正弦编码。 ◦ 对时间步信息进行正弦编码。 17. Timestep(时间步): ◦ 时间步信息。 ◦ 时间步信息。 18. MLP(多层感知器): ◦ 对正弦编码后的时间步信息进行处理。 ◦ 对正弦编码后的时间步信息进行处理。 19. MM DiT Block 1, 2, ... d(MM DiT模块): ◦ 多层MM DiT模块,每层包含特定的计算任务,逐层优化生成图像。 ◦ 多层MM DiT模块,每层包含特定的计算任务,逐层优化生成图像。 20. Modulation(调制): ◦ 对输出结果进行调制。 ◦ 对输出结果进行调制。 21. Linear(线性变换): ◦ 对调制后的结果进行线性变换。 ◦ 对调制后的结果进行线性变换。 22. Unpatching(反切片): ◦ 将线性变换后的结果重新组合成完整图像。 ◦ 将线性变换后的结果重新组合成完整图像。 23. Output(输出): ◦ 最终生成的图像。 ◦ 最终生成的图像。 (b) 一个MM DiT模块的详细结构 1. y(输入向量): ◦ 输入到模块中的向量。 ◦ 输入到模块中的向量。 2. SiLU(激活函数): ◦ 使用SiLU激活函数对输入向量进行处理。 ◦ 使用SiLU激活函数对输入向量进行处理。 3. Linear(线性变换): ◦ 对激活后的向量进行线性变换。 ◦ 对激活后的向量进行线性变换。 4. Layernorm(层归一化): ◦ 对线性变换后的向量进行层归一化处理。 ◦ 对线性变换后的向量进行层归一化处理。 5. α c 和 β c(调制参数): ◦ 调制输入向量的参数。 ◦ 调制输入向量的参数。