1-5 CLIPSetLastLayer跳层调节测试:同一条提示词,画面自由度自己调

2026-08-31 15:33 · 54 阅读
1-5 CLIPSetLastLayer跳层调节测试:同一条提示词,画面自由度自己调

准备工作:这篇教程要用到的材料

本教程演示的工作流是「1-5_[图像生成]_CLIPSetLastLayer跳层调节测试」,位于工作流大合集的 01 图像生成 分类目录下。它的作用一句话概括:同一条提示词、同样的参数,只调节 CLIPSetLastLayer 一个值,画面就会从"完全贴提示词"逐渐变成"天马行空"——既适合理解提示词到底是怎么控制画面的,也适合在画面太模板化、元素堆砌时让生成更自由。

这个工作流出自官方示例,用的是 SD1.5 官方模型,一共只需要两个模型,下载好放进对应目录,文件名务必保持一致:

  • SD1.5 底模 v1-5-pruned-emaonly.safetensors(约 4.3GB)→ models\checkpoints\(也可以选任意其他 SD1.5 底模)
  • VAE vae-ft-mse-840000-ema-pruned.safetensors(约 334MB)→ models\vae\

下载源:HuggingFace stabilityai/stable-diffusion-v1-5(国内可走镜像 hf-mirror.com),下载后放到对应目录即可。

a16bf7fb-8a40-4ac9-8c56-de6908c24bf9.png

一、这个工作流能干什么

整个工作流是最基础的文生图:SD1.5 底模 + 一条英文提示词 + 一次采样,最后出图。唯一特别的是在 CLIP 文本编码器和采样器之间,插了一个 CLIPSetLastLayer 节点——它就是本教程的主角。

提示词内容是官方示例自带的:a photo of a cat wearing a spacesuit inside a spaceship(一只穿着宇航服坐在飞船里的猫)。你可以把提示词换成任意内容,不影响本教程的测试逻辑。

image.png

二、工作流原理:提示词要"过 12 层"

很多人以为提示词是直接丢给模型用的,其实不是——提示词要先经过 CLIP 文本编码器的12 层网络逐层加工,层数越深,模型对这句话的理解越"透彻"。

  • 默认情况下(不插 CLIPSetLastLayer),取最后一层的输出 → 提示词理解最透彻,对画面的控制力最强
  • CLIPSetLastLayer 的作用 = 指定取前面第几层的输出,也就是"跳层":-1 是最后一层,-2 是倒数第二层,依此类推
  • 取值越浅(数字越大),提示词对画面的控制越弱,画面越自由、但也越偏离提示词

关于取值范围有个坑要记住:节点输入框允许填 -24 ~ -1,但SD1.5 的文本编码器只有 12 层,所以实际有效范围是 -1 ~ -12(-12 = 第一层)。填 -13 以下会直接报错,不是节点坏了,是层数不够用。

三、实操:六档跳层对比测试

加载工作流后,确认模型选择正确(检查点选 v1-5-pruned-emaonly 或你放的 SD1.5 底模),然后按下面的步骤做:

第一步:跑一档默认值。CLIPSetLastLayer 默认 -2,先跑一张,记住这张"基准图"长什么样。

第二步:依次改六档。把 stop_at_clip_layer 依次改成 -1、-3、-5、-7、-9、-11,每档跑一张。其他参数一律不动(采样步数 20、CFG 7、尺寸 512x512 保持原样)。

第三步:对比六张图。你会看到画面从"贴提示词"一步步走向"离谱":

  • -1、-3:变化很轻微,猫、宇航服、飞船这些元素都在,只是构图和细节稍微自由一点,画面反而更自然
  • -5:明显跑偏,元素开始对不上提示词
  • -7 及以下:基本失控,画面和提示词关系不大了

这就是跳层的完整效果曲线:轻微跳层改善画面自由度,深跳层画面失控。

-1档:

Result_00001_.png

-3档:

Result_00002_.png

-5档:

Result_00003_.png

-7档:

Result_00004_.png

-9档:

Result_00005_.png

-11档:

Result_00006_.png

四、什么时候用:跳层的实用场景

  • 画面太"贴提示词"时:元素堆砌、构图死板、模板感强,可以试试 -1 ~ -3,画面会自然一些——这是跳层最实用的用法
  • 深跳层(-5 以下):基本只用于理解原理,实际出图用不上
  • 换模型后数值不通用:不同模型的文本编码器层数不同(比如 SDXL 是 32 层),SD1.5 上调出来的数值不能直接照搬到 SDXL
  • 想让画面更自由还有别的办法:降低 CFG(比如 7 降到 5)、换采样器等,效果比深跳层可控得多

五、常见问题排查

  • 加载报错 / 出图是灰的:底模或 VAE 没放对位置,检查 models\checkpoints\ 和 models\vae\ 目录,文件名要和节点里完全一致
  • 填 -13、-15 报错:SD1.5 只有 12 层,有效范围 -1 ~ -12,这是正常保护
  • 六档图差异不大:确认 CLIPSetLastLayer 节点确实接在 CLIPTextEncode 的 CLIP 输入上(连线顺序),并已正确加载
  • 换了底模效果不同:正常,不同底模的 CLIP 层分布不同,跳层效果会有差异,以实际出图为准
登录后分享可赚邀请积分
评论 (0)

登录后才能发表评论

去登录