免费内容
网盘密匙:Qpipi
允许生成图像/视频商用
允许再次训练
不允许转售AI模型
不允许生成计算服务费
许可证:CreativeML Open RAIL-M
SD Dynamic Prompts,SD-动态通配符扩展

SD Dynamic Prompts,SD-动态通配符扩展

Stable Diffusion Dynamic Prompts 扩展

stable-diffusion-webui 的自定义扩展,SD Dynamic Prompts实现了用于随机或组合提示生成的富有表现力的模板语言,以及支持深度通配符目录结构的功能。

寻找 ComfyUI 节点?在这里找到他们。

本文包含较多专业内容,如果只是简单了解和国内下载包,请点这里

图片[1]_SD Dynamic Prompts,SD-动态通配符扩展_Qpipi

基本用法

使用此脚本,提示符:

A {house|apartment|lodge|cottage} in {summer|winter|autumn|spring} by {2$$artist1|artist2|artist3}

将产生以下任何提示:

如果您正在寻找艺术家和风格的有趣组合,这将特别有用。

您还可以从文件中选择一个随机字符串。假设您已seasons.txt文件WILDCARD_DIR(见下文),则:

__seasons__ is coming

可能会生成以下内容:

  • Winter is coming
  • Spring is coming

您也可以使用同一通配符两次

I love __seasons__ better than __seasons__
  • I love Winter better than Summer
  • I love Spring better than Spring

安装

扩展可以直接从 Webui 的扩展选项卡中安装

图片[2]_SD Dynamic Prompts,SD-动态通配符扩展_Qpipi

您也可以通过从 webui 目录中运行以下命令来手动安装它:

git clone https://github.com/adieyal/sd-dynamic-prompts/ extensions/sd-dynamic-prompts

您可以在其中创建通配符文件,也可以使用 Web UI 中的“通配符管理器”选项卡来利用预安装的集合extensions/sd-dynamic-prompts/wildcards

配置

您可以在“动态提示”部分的“设置”选项卡中找到各种设置来更改动态提示的行为。

更改语法

如果语法与另一个扩展发生冲突,动态提示允许您更改变体开始和变体结束的定义。默认情况下,它们分别设置为 和。,例如 .在设置选项卡中,您可以更改这两个任何字符串,例如 甚至.{}{red|green|blue}<red|green|blue>::red|green|blue::

图片[3]_SD Dynamic Prompts,SD-动态通配符扩展_Qpipi

默认情况下,通配符以 (双下划线) 开头,以 .您可以在通配符换行下的设置选项卡中更改此设置。____

通配符设置

图片[4]_SD Dynamic Prompts,SD-动态通配符扩展_Qpipi

Dynamic Prompts 会在使用通配符文件之前自动删除重复数据并对其进行排序。如果您希望禁用此功能,可以取消选中设置选项卡中的复选框。

图片[5]_SD Dynamic Prompts,SD-动态通配符扩展_Qpipi

选中“随机排列通配符”复选框将随机化通配符的顺序,确保运行组合模型将在不同的运行中产生不同的图像。

将模板保存到元数据

默认行为是将所有通配符解析为可用的提示符,然后将该提示存储在 PNG info 或 txt 文件(例如 )。如果你也愿意 想要用通配符调用原始模板,您可以打开此选项,您将保存:I love Winter better than Summer

I love Winter better than Summer
Template: I love __seasons__ better than __seasons__

注意:这个额外的“模板”部分不会显示在生成页面中,但将在 PNG 信息(或图像浏览器,如果您安装了该扩展)中可用。

故障 排除

如果遇到动态提示问题,请按照以下步骤解决问题:

  1. 检查您是否已安装 Dynamic Prompts 扩展和库的最新版本。要检查已安装的版本,请在 txt2image 的 Dynamic Prompts 部分打开 Need Help? 折叠面板。您可以在此处找到扩展的最新版本号,并在此处找到库。
  2. 如果版本不匹配,请在扩展选项卡中更新扩展,然后重新启动 webui。扩展应自动更新库。
  3. 如果上述步骤不起作用,则可能需要使用以下命令手动更新库:
python -m pip install -U dynamicprompts[attentiongrabber,magicprompt]
  1. 重新启动 webui 并检查。如果 webui 使用不同的 python 二进制文件,请找到 python 二进制文件的正确路径并运行:
/path/to/python/binary/python -m pip install -U dynamicprompts[attentiongrabber,magicprompt]
  1. 如果通配符 UI 未显示,可能是由于库版本过时。检查终端中的错误,并按照步骤 3 中所述更新库。
  2. 如果您收到错误消息“未找到通配符 some/wildcard 的值”,请确保文件wildcard.txt位于 extensions/sd-dynamic-prompts/wildcards/some/ 中。完整路径是必需的,因为当前不支持相对路径。
  3. 如果问题仍然存在,请在 GitHub 和论坛上的问题部分中搜索解决方案。如果找不到解决方案,请创建一个新问题并为其指定一个描述性名称,例如“在提示模板中忽略通配符值”。提供必要的上下文,包括 Dynamic Prompts 扩展和库的版本,并提及正在使用的操作系统或 colab。如果终端中出现错误,请复制并粘贴整个文本或截取屏幕截图。
  4. 最后,测试和应用我们发布的任何修复程序至关重要。您的反馈很有价值,因为在我们的环境中有效的问题可能不适用于您的环境。

兼容脚本

动态提示特别适用于X/Y绘图 – 在使用X/Y绘图时将动态提示设置为组合模式,使您可以同时详尽地测试提示和参数变化。

模板语法

文档可以在这里找到

模糊 Glob/递归通配符文件/目录匹配

除了标准通配符标记(如 -> ),您还可以使用通配符一次匹配多个文件。 例如:__times__times.txt

__colors*__将匹配以下任何一项:

  • WILDCARD_DIR/colors.txt
  • WILDCARD_DIR/colors1.txt
  • WILDCARD_DIR/嵌套/文件夹/colors1.txt

__light/**/*__将匹配:

  • WILDCARD_DIR/嵌套/文件夹/轻a.txt
  • WILDCARD_DIR/nested/folder/light/b.txt

但不匹配

  • WILDCARD_DIR/嵌套/文件夹/暗/a.txt
  • WILDCARD_DIR/a.txt

您还可以使用字符范围和单个通配符。有关更多示例,请参阅此文章[0-9][a-z]?

WILDCARD_DIR缺省值为 。extensions/sd-dynamic-prompts/wildcards

组合生成

组合生成不是从模板生成随机提示,而是从给定字符串生成所有可能的提示。例如:I {love|hate} {New York|Chicago} in {June|July|August}

将产生:

  • I love bei jing in June
  • I love bei jing in July
  • I love bei jing in August
  • I love shang hai in June
  • I love shang hai in July
  • I love shang hai in August
  • I hate bei jing in June
  • I hate bei jing in July
  • I hate bei jing in August
  • I hate shang hai in June
  • I hate shang hai in July
  • I hate shang hai in August

如果提供了 a,则将为通配符文件中的每个值生成新的提示。例如:__wildcard__My favourite season is __seasons__

将产生:

  • My favourite season is Summer
  • My favourite season is August
  • My favourite season is Winter
  • My favourite season is Sprint
图片[6]_SD Dynamic Prompts,SD-动态通配符扩展_Qpipi

您还可以在通配符内任意嵌套组合,并在组合中嵌套通配符。

如果您想为文件中的每个艺术家创建图像,组合生成可能很有用。可以通过在 ui 中选中 Combinatorial generation 复选框来启用它。为了防止意外生成数千张图像,您可以限制使用“最大生成数”滑块生成的提示总数。值 0(默认值)不会设置任何限制。

组合批处理

使用组合批次滑块,您可以使用不同的种子多次重复同一组提示。默认批次数为 1。

增加最大代数

默认情况下,automatic1111 的 Batch count silder 的最大值为 100。在使用组合生成时,这可能会限制最大代数。您可以通过编辑ui-config.json来更改此滑块的最大值,然后进行更改:

txt2img/Batch count/maximum": 100

到更大的内容,例如:

txt2img/Batch count/maximum": 1000

固定种子

如果要对每个生成的图像使用相同的种子,请选择此选项。如果没有通配符,则所有图像都将相同。如果要测试特定修饰符的效果,这将非常有用。例如:

A beautiful day at the beach __medium/photography/filmtypes__

这样,您就可以隔离每种电影类型对特定场景的影响。以下是一些结果:

图片[7]_SD Dynamic Prompts,SD-动态通配符扩展_Qpipi

魔术提示

使用多种提示生成模型之一来为您的提示增添趣味。

使用 Gustavosta 的 MagicPrompt 模型,该模型经过 80,000 个来自 Lexica.art 的提示训练,它可以帮助您提供有关给定主题的有趣新提示。以下是一些自动生成的“踢足球的狗”的变体:

dogs playing football, in the streets of a japanese town at night, with people watching in wonder, in the style of studio ghibli and makoto shinkai, highly detailed digital art, trending on artstation

dogs playing football, in the background is a nuclear explosion. photorealism. hq. hyper. realistic. 4 k. award winning.

dogs playing football, in the background is a nuclear explosion. photorealistic. realism. 4 k wideshot. cinematic. unreal engine. artgerm. marc simonetti. jc leyendecker

这与上述通配符语法兼容。

其他型号

首次使用模型时,系统会下载该模型。它大约是 500mb,因此需要一些时间,具体取决于您的连接速度。当模型加载到内存中时,首次激活也需要几秒钟的时间。请注意,如果您的 VRAM 不足,您可能会收到 Cuda 错误。我的 GPU 使用不到 8GB,但 YMMV。

图片[8]_SD Dynamic Prompts,SD-动态通配符扩展_Qpipi

您可以使用“最大魔术提示长度”滑块来控制最大提示长度。魔术提示创意可以调整生成的提示,但您需要尝试此设置。

使用 Magic prompt 阻止列表正则表达式过滤掉关键字。例如,如果要避免包含 Greg Rutkowski 的提示,请将他的名字添加到此字段。

如果您使用 Magic Prompt 生成许多提示,则增加 Magic Prompt 批处理大小可以显著提高提示生成速度。这只有在您不生成图像时才会引起注意,因为图像生成比提示生成慢得多。

我感到很幸运

使用 lexica.art API 创建随机提示。如果您正在寻找灵感,或者只是懒得思考自己的提示,这将非常有用。选择此选项后,主提示框中的提示将用作搜索字符串。例如,提示符“Mech warrior”可能会返回:

  • Greg Rutkowski、Sung Choi、Mitchell Mohrhauser、Maciej Kuciara、Johnson Ting、Maxim Verehin、Peter Konig 的森林中的大型机器人石像,最终幻想,8k 逼真,电影照明,高清,高细节,大气,
  • 西蒙·斯塔伦哈格、帕斯卡·布兰奇、阿尔方斯·穆夏和内克罗创作的((赛博朋克))盔甲的美丽肖像画。以数字艺术的风格。色彩斑斓的漫画,黑色电影,对称,笔触,震动的色彩,超细致。辛烷值渲染。在 ArtStation 上流行起来
  • 对称!!机器人宇航员的肖像,花卉!地平线零黎明机器,复杂,优雅,高度详细,数字绘画,艺术站,概念艺术,流畅,清晰的焦点,插图,Artgerm和Greg Rutkowski和Alphonse Mucha的艺术,8 K
图片[9]_SD Dynamic Prompts,SD-动态通配符扩展_Qpipi

将提示框留空将返回完全随机选择的提示列表。

吸引注意力

此选项会在提示中随机选择一个关键字,并添加随机的强调量。下面是一个示例,说明这如何影响提示符:

a portrait an anthropomorphic panda mage casting a spell, wearing mage robes, landscape in background, cute, dnd character art portrait, by jason felix and peter mohrbacher, cinematic lighting
图片[10]_SD Dynamic Prompts,SD-动态通配符扩展_Qpipi

勾选“高级选项”下的“固定种子”复选框,以查看强调如何在不更改种子的情况下更改图像。

将提示写入文件

图片[11]_SD Dynamic Prompts,SD-动态通配符扩展_Qpipi

选中 write prompts to file 复选框,以创建包含所有生成提示的文件。生成的文件是提示符的 sluged 版本,可以在与生成的图像相同的目录中找到,例如 outputs/txt2img-images

Jinja2 模板

图片[12]_SD Dynamic Prompts,SD-动态通配符扩展_Qpipi

Jinja2 模板是一项实验性功能,使您能够命令性地定义提示。这是一项高级功能,仅建议习惯于编写脚本的用户使用。

要启用,请打开高级折叠面板并选择启用 Jinja2 模板

您可以在此处更详细地了解它们

WILDCARD_DIR

该扩展在 WILDCARD_DIR 中查找通配符文件。默认位置为 。也可以在主 webui config.json wildcard_dir下手动定义。如有疑问,webui 中扩展的帮助文本会列出WILDCARD_DIR的完整路径/path/to/stable-diffusion-webui/extensions/sd-dynamic-prompts/wildcards

收集

collections 目录包含修饰符库,您可以按原样使用这些修饰符库,也可以使用它们来引导您自己的修饰符库。首先,使用“通配符管理器”选项卡将一个或多个集合复制到通配符文件夹,也可以手动复制文件。三个集合与动态提示扩展捆绑在一起。

如果您使用的是 Unix/Linux 操作系统,您可以轻松地创建指向相关集合的符号链接,而不是如果您不打算更改它,则复制它。例如

ln -sr collections/parrotzone wildcards/

您还可以通过从扩展的根目录中运行来下载其他扩展,即python _tools/download_collections.pyextensions/sd-dynamic-prompts/

动态提示和随机种子

随机种子在控制所生成输出的随机性方面起着重要作用。让我们讨论一下 Dynamic Prompts 如何在不同场景中处理随机种子。

未启用动态提示

  1. 如果种子设置为 -1:随机选取一个种子。此种子用于生成第一个图像,然后使用种子 + 1 创建下一个图像,此模式继续用于后续图像。
  2. 如果种子设置为大于 -1 的特定数字:该过程与上述过程类似,但从用户指定的种子开始。
  3. 如果定义了变异种子,但变异强度为零:该过程与前两点相同。
  4. 如果变体种子设置为大于 0 的数字:每张图像都是使用相同的初始种子(随机选择或由用户设置)生成的。变体种子可以是随机的(如果设置为 -1),也可以是用户选择的值。第一个图像是使用变异种子生成的,下一个图像是使用变异种子 + 1 生成的,依此类推。

在随机/标准模式下启用动态提示时使用:

  1. 如果种子设置为 -1:该过程类似于上一部分中的第一个点。但是,也会使用相同的种子选择提示(如果使用随机提示生成器)。
  2. 如果种子设置为大于 -1 的数字:该过程类似于上一节中的第二个点。但是,不同之处在于,还会使用所选种子生成随机提示(如果使用提示生成器)。
  3. 如果选中了固定种子复选框:所有图像和提示都将使用相同的种子。这意味着重复生成相同的图像(这对于组合生成很有用)。
  4. 如果同时选中了“固定种子”和“从提示中取消链接种子”复选框:提示使用随机种子,但所有图像都使用相同的种子。如果您想查看不同的提示如何影响同一图像的生成,则此设置非常有用。

具有动态提示的变体种子

  1. 变化强度设置为 0:忽略变化。
  2. 变体设置为数字 > 0:为每个图像分配一个变体种子,每次递增 1。但是,由于您正在寻找同一图像的变体,因此仅生成 1 个提示。

变化强度为 0 的组合模式 >

在这种情况下,它只会为您生成第一张图像,这可能不是您想要的。为了获得所需的结果,您可能需要调整设置或使用不同的模式。

💡如有问题或建议,🥳请在社区评论告诉我们。🎨享受精彩的AI绘画乐趣!| 使用Qpipi读图提示功能,获取图片TAG Prompt提示 | Stable Diffusion AI绘图软件常见问题解答 | AI绘画新人必备工具指南

⭕ 注意:请勿使用浏览器的"阅读模式",会导致无法显示下载等内容。

© 版权声明
THE END
❤️ 喜欢就支持一下吧!点赞支持作者喔 👍
点赞14 分享
SD Dynamic Prompts,SD-动态通配符扩展_Qpipi
SD Dynamic Prompts,SD-动态通配符扩展
此内容为免费阅读,请登录后查看
0积分
网盘密匙:Qpipi
允许生成图像/视频商用
允许再次训练
不允许转售AI模型
不允许生成计算服务费
许可证:CreativeML Open RAIL-M
免费阅读
✍️ 评论 抢沙发

请登录后发表评论

    暂无评论内容