首页AI 新闻
【Stable Diffusion进阶技巧】prompt语法详解
29

【Stable Diffusion进阶技巧】prompt语法详解

Mcmuffin
Mcmuffin
2023-03-21 15:16

受够了prompt漫天飞了吗 还在加个词减个词不停试吗 还在不停在图片生成历史和生成页面不停send to t2i i2i 跳转吗 可以试试下面这些功能 自动化你的roll图工作流

  • prompt 权重更改语法
  • prompt matrix
  • X/Y/Z plot (之前叫X/Y plot)
    • Prompt S/R
  • prompt edit
  • 保存自制prompt风格style.csvhttps://1/stable-diffusion-webui/wiki/Features#styles
  • 从txt文件中读取prompt批量生成图片

prompt 权重更改语法

在提示中使用()会增加模型对所包围的词的注意 (也即提高权重),而 [ ] 则会减少相应词的权重 (基本用不着)

一般流程就是先把要描述的画面写下生成一下 然后试边改 把不满意的地方 要强调的概念用 (xxx: 1.x ) 来提升权重

xxx是你要强调的词 1.x 代表要提升的比例,如 1.5 就是150%

官方wiki

prompt matrix 提示矩阵

先在生成图片的界面下方script 脚本选择框中选中prompt matrix 来启用该语法

|来分割你的提示词,|会为其前后的词的每一种组合 (若|前为a后为b,那么最后将生成 ab都没有 ; a ; b ; ab 一共四张图) 各生成一张图片 并将所有的结果最后拼成矩阵图的形式方便我们观察对比效果 经常用于我们在构思画作的定调 风格选择时使用 ,例如下图 我想看看

赛博朋克 和 蒸汽朋克 分别对背景影响如何 就可以在原先的prompt 后 加 (cyberpunk:1.5) | (steampunk:1.5)

最后就会生成四张图并合并成一张矩阵图, 左上角的图是生成所用的prompt中即不含赛博朋克 也不含 蒸汽朋克 ,右下角的图的prompt中既含赛博朋克 也 含蒸汽朋克

X/Y plot

prompt matrix 提示矩阵 可以在我们比较几个同类但不冲突时的prompt时使用 但一旦你要比较的提示词是相冲突 (即不能你中有我 我中有你)的时候就不太能胜任了 , 且prompt matrix 只能调整 prompt 而不能调整比较别的参数 如果你想比较不同模型下,不同sample step cfg vae ...巴拉巴拉数不胜数的参数下的画面时,此时就需要用到X/Y plot

X 代表横轴 Y代表纵轴

比较除prompt外的参数

比如比较不同模型下相同prompt 参数出图效果 (时间会很长 什么?你有A100集群,那没事了... 因为要不停切换模型 所以推荐仅在prompt和参数调好用来测试各模型泛化能力及学习能力的差异情况下使用 )

在脚本列表中选择x/y plot 然后挑你要比较的模型

x轴 横向对比 排版需要 拆成了两排

放在Y轴 纵向对比

除此之外 几乎所有参数都可以在x/y plot 里比较 这里就不一一演示

比较相冲突的prompt 且不需要各prompt融合的结果 :-> Prompt S/R

Prompt S/R 是x/y plot下的一个子项你可以理解为更灵活 更方便的prompt matrix(只是不用矩阵 而通常是排成一列) 用法是在prompt 中匹配到要替换比较的地方 然后把我们要比较的n个同类词用 逗号➕空格 格式输入Prompt S/R 的输入框中,然后点生成按钮 就会生成 n 张对应的图片

实例

如我想要看不同的相机机位对画面的影响 除了俯拍 还想看 平拍 仰拍 模型的学习程度 就可以如下操作

prompt框

Prompt S/R脚本参数填写

结果

比较模型对人种认知

prompt edit (感觉不是很好用)

有时我们想让prompt中的某些词

  • 在指定的扩散步数后就停止作用 [from::when]
  • 在指定的扩散步数后才生效 [to:when]
  • 以某个步数为分水岭 之前是一个词 之后变成另一词 [from:to:when]

以上情况就可以使用prompt edit功能

基本语法是 [from:to:when]

其中from和to是任意的文本,而when是一个数字,定义了在采样周期的多晚应该进行切换。它越晚,模型就越没有权力用to文本来代替from文本。如果when是一个介于0和1之间的数字,它是进行切换的步骤数的一个分数。如果它是一个大于0的整数,它是进行切换的步数。

示例

卷发  鲍勃切 渐变色 从不同过程开始切换生效的效果 0.8 表示只有最后20%时间鲍勃切生效

保存自制prompt风格style.csv

按下 "将提示信息保存为样式 "按钮,将你当前的提示信息写入样式.csv,该文件是一个样式的集合。在提示的右边有一个下拉框,允许你从以前保存的样式中选择任何样式,并自动将其追加到你的输入。要删除一个样式,请从style.csv中手动删除它,然后重新启动程序。

如果你在你的style中使用占位符 {prompt},它将把实际使用时 prompt 框中的任何内容替换到该位置,而不是把样式追加到你的提示中。

官方wiki

从txt文件中读取prompt批量生成图片

脚本框中选prompts from file or textbox 然后就可以把实现准备好的txt文件路径填到对应框中 或在脚本的输入框中输入 每行文本会对应生成一张图片

转载自查看原文

全部讨论

no data来都来了,坐下聊聊