动态提示dynamic-prompts
原链接:Richrobber2/画布缩放:缩放和平移功能 (github.com)
以下内容直接复制github:
稳定的扩散动态提示扩展
AUTOMATIC1111/stable-diffusion-webui 的自定义扩展,实现了用于随机或组合提示生成的富有表现力的模板语言,以及支持深层通配符目录结构的功能。
目录
基本用法
使用此脚本,提示:
A {house|apartment|lodge|cottage} in {summer|winter|autumn|spring} by {2$$artist1|artist2|artist3}
将生成以下任何提示:
- 夏天的房子 由艺术家1,艺术家2
- 秋天的小屋 艺术家3,艺术家1
- 冬天的小屋 由艺术家2,艺术家3
- ...
如果您正在寻找有趣的艺术家和风格组合,这将特别有用。
您还可以从文件中选择一个随机字符串。假设你有文件季节.txt在WILDCARD_DIR(见下文),那么:
__seasons__ is coming
可能会生成以下内容:
- 冬天来了
- 春天来了
- ...
您也可以使用相同的通配符两次
I love __seasons__ better than __seasons__
- 我爱冬天胜过夏天
- 我爱春天胜过春天
可以在此处找到更完整的文档。
更喜欢教程?点击这里
需要通配符库?我们为您提供保障。
在线资源
- 📽️ 아무것도 생각 안 하고 그림 뽑는 방법 (stable difspread Dynamic Prompts extension)
- 📽️ 动态提示教程:如何仅使用 1 个提示稳定扩散创建多个艺术变体
- 📽️ 在稳定扩散中快速尝试提示
- 使用控制网+动态提示(通配符)大放异彩
- 无限随机RPG角色肖像与动态提示
- 使用动态提示创建 256 个唯一字符
- 使用 ChatGPT 通过动态提示扩展创建强大而有用的通配符
- 使用动态提示和提示编辑从单个提示中完成 200 个角色/服装设计
- 自动 2 中的动态提示和 Jinja1111 模板
- 测试动态提示扩展以混合和匹配元素
- 如何使用 AUTOMATIC1111 WebUI 动态提示扩展来增强提示
- Automatic1111 的动态提示功能非常强大,它们都来自同一个提示符!
安装
您也可以通过在 webui 目录中运行以下命令来手动安装它:
git clone https://github.com/adieyal/sd-dynamic-prompting/ extensions/dynamic-prompts
配置
如果语法与另一个扩展发生冲突,动态提示允许您更改变体开始和变体结束的定义。默认情况下,它们分别设置为 和。,例如 .在设置选项卡中,您可以更改这两个任意字符串,例如 甚至.{
}
{red|green|blue}
<red|green|blue>
::red|green|blue::
默认情况下,通配符以 (双下划线) 开头,以 结尾。您可以在通配符换行下的设置选项卡中更改此设置。__
__
故障 排除
如果遇到动态提示问题,请按照以下步骤解决问题:
-
检查是否已安装最新版本的动态提示扩展和库。要检查已安装的版本,请在 txt2image 的“动态提示”部分中打开“需要帮助?”手风琴。您可以在此处找到扩展的最新版本号,并在此处找到库。
-
如果版本不匹配,请在扩展选项卡中更新扩展并重新启动 webui。扩展应自动更新库。
-
如果上述步骤不起作用,您可能需要使用以下命令手动更新库:
python -m pip install -U dynamicprompts[attentiongrabber,magicprompt]
- 重新启动 webui 并检查。如果 webui 使用不同的 python 二进制文件,请找到 python 二进制文件的正确路径并运行:
/path/to/python/binary/python -m pip install -U dynamicprompts[attentiongrabber,magicprompt]
-
如果未显示通配符 UI,则可能是由于库版本过时。检查终端中的错误并按照步骤 3 中所述更新库。
-
如果您收到一条错误消息,指出“找不到通配符某些/通配符的值”,请确保文件通配符.txt位于扩展名/sd-dynamic-prompts/wildcards/some/中。完整路径是必需的,因为当前不支持相对路径。
-
如果问题仍然存在,请在 GitHub 上的问题部分和论坛中搜索解决方案。如果找不到解决方案,请创建一个新问题并为其指定一个描述性名称,例如“提示模板中忽略通配符值”。提供必要的上下文,包括动态提示扩展和库的版本,并提及正在使用的操作系统或 colab。如果终端中出现错误,请复制并粘贴整个文本或截取屏幕截图。
-
最后,必须测试和应用我们发布的任何修复程序。您的反馈很有价值,因为在我们的环境中有效的问题可能不适用于您的环境。
兼容脚本
动态提示特别适用于 X/Y 图 - 在使用 X/Y 绘图时将动态提示设置为组合模式,可让您同时详尽地测试提示和参数变化。
模板语法
文档可在此处找到
模糊 Glob/递归通配符文件/目录匹配
除了标准的通配符(如 ->)之外,您还可以使用通配来一次匹配多个文件。 例如:__times__
times.txt
__colors*__
将匹配以下任何一项:
- WILDCARD_DIR/颜色.txt
- WILDCARD_DIR/颜色1.txt
- WILDCARD_DIR/嵌套/文件夹/颜色1.txt
__light/**/*__
将匹配:
- WILDCARD_DIR/嵌套/文件夹/灯光/a.txt
- WILDCARD_DIR/嵌套/文件夹/灯光/b.txt
但不匹配
- WILDCARD_DIR/嵌套/文件夹/暗/a.txt
- WILDCARD_DIR/a.txt
您还可以使用字符范围和单个通配符。有关更多示例,请参阅此文章。[0-9]
[a-z]
?
组合生成
组合生成不是从模板生成随机提示,而是从给定字符串生成每个可能的提示。例如:I {love|hate} {New York|Chicago} in {June|July|August}
将产生:
- 六月我爱纽约
- 我爱七月的纽约
- 八月我爱纽约
- 我爱六月的芝加哥
- 我爱七月的芝加哥
- 八月我爱芝加哥
- 我讨厌六月的纽约
- 我讨厌七月的纽约
- 我讨厌八月的纽约
- 我讨厌六月的芝加哥
- 我讨厌七月的芝加哥
- 我讨厌八月的芝加哥
如果提供了 a,则将为通配符文件中的每个值生成一个新提示。例如:__wildcard__
My favourite season is __seasons__
将产生:
- 我最喜欢的季节是夏天
- 我最喜欢的季节是八月
- 我最喜欢的季节是冬天
- 我最喜欢的季节是Sprint。
您还可以将组合任意嵌套在通配符中,并在组合中嵌套通配符。
如果要为文件中的每个艺术家创建图像,组合生成可能很有用。可以通过选中 ui 中的组合生成复选框来启用它。为了防止意外生成数千个图像,您可以限制使用“最大世代数”滑块生成的提示总数。值 0(默认值)不会设置任何限制。
组合批次
组合批处理滑块允许您使用不同的种子多次重复同一组提示。默认批次数为 1。
增加最大代数
默认情况下,automatic1111 的批处理计数平均值最大值为 100。这可能会限制使用组合生成时的最大生成数。您可以通过编辑 ui-config.json 来更改此滑块的最大值并更改:
txt2img/Batch count/maximum": 100
到更大的内容,例如:
txt2img/Batch count/maximum": 1000
固定种子
如果要对生成的每个图像使用相同的种子,请选择此选项。如果没有通配符,则所有图像都将相同。如果要测试特定修饰符的效果,它将很有用。例如:
A beautiful day at the beach __medium/photography/filmtypes__
这样,您就可以隔离每种胶片类型在特定场景中的效果。以下是一些结果:
魔术提示
使用多种提示生成模型之一来为提示增添趣味。
使用Gustavosta的MagicPrompt模型,根据来自 Lexica.art 的80,000个提示进行训练,它可以帮助您提供有关给定主题的有趣新提示。以下是“踢足球的狗”的一些自动生成的变体:
狗在踢足球,晚上在日本小镇的街道上,人们惊奇地观看,吉卜力工作室和新海诚的风格,高度详细的数字艺术,在ArtStation上流行
狗在踢足球,背景是核爆炸。照相写实主义。总部。超。现实。4 K. 获奖。
狗在踢足球,背景是核爆炸。逼真。现实主义。4 k 广角镜头。电影。虚幻引擎。艺术胚芽。马克·西蒙内蒂。JC 莱恩德克
这与上述通配符语法兼容。
其他型号
- daspartho/prompt-extend (~500MB)
- 简洁/text2图像提示生成器 (~600MB) - 训练中途提示
- Microsoft/Promptist (~500mb) - 在此处阅读论文
- AUTOMATIC/promptgen-lexart (~300mb) - 使用来自 lexica.art 的 134,819 个提示进行微调
- AUTOMATIC/promptgen-majinai-safe (~300MB) - 来自 majinai.art 的 1,654 个提示
- AUTOMATIC/promptgen-majinai-unsafe (~300mb) - 来自 majinai.art 的825个提示符(NSFW)
- 古斯塔沃斯塔/魔术提示-达勒
- kmewhort/stable-diffusion-prompt-bolster (~500MB),
- Ar4ikov/gpt2-650k-stable-diffusion-prompt-generator (~500mb),
- Ar4ikov/gpt2-medium-650k-stable-diffusion-prompt-generator(~1.4gb),
- 面包屑/花朵-560m-RLHF-SD2-提示器美学 (~1.1gb),
- Meli/GPT2-提示符 (~500mb),
- DrishtiSharma/StableDiffusion-Prompt-Generator-GPT-Neo-125M (~550MB)
首次使用模型时,将下载该模型。它大约是500mb,因此需要一些时间,具体取决于您的连接速度。首次激活时也需要几秒钟,因为模型已加载到内存中。请注意,如果您的 VRAM 较低,您可能会收到 Cuda 错误。我的GPU使用不到8GB,但YMMV。
您可以使用最大魔术提示长度滑块控制最大提示长度。魔术提示创意可以调整生成的提示,但您需要尝试此设置。
使用魔术提示阻止列表正则表达式过滤掉关键字。例如,如果要避免包含 Greg Rutkowski 的提示,请将他的名字添加到此字段中。
如果使用幻术提示生成许多提示,则增加幻术提示批处理大小可以显著提高提示生成速度。这可能仅在您不生成图像时才明显,因为图像生成比提示生成慢得多。
我感到很幸运
使用 lexica.art API 创建随机提示。如果您正在寻找灵感,或者只是懒得思考自己的提示,这很有用。选择此选项后,主提示框中的提示将用作搜索字符串。例如,提示“机甲战士”可能会返回:
- 森林中间的大型机器人石像,由格雷格·鲁特科夫斯基、宋崔、米切尔·莫尔豪瑟、马切伊·库西亚拉、约翰逊·丁、马克西姆·维雷欣、彼得·科尼格、最终幻想、8k 逼真、电影照明、高清、高细节、大气、
- 西蒙·斯塔伦哈格、帕斯卡·布兰奇、阿尔方斯·穆夏和内克罗的盔甲的美丽肖像画。以数字艺术的风格。丰富多彩的漫画,黑色电影,对称,笔触,振动色彩,超详细。辛烷值渲染。在艺术站上流行
- 对称!!机器人宇航员的肖像,花卉!地平线零黎明机器, 复杂, 优雅, 高度详细, 数字绘画, artstation, 概念艺术, 平滑, 锐焦点, 插图, 艺术胚芽和格雷格·鲁特科夫斯基和阿尔方斯·穆夏的艺术, 8 K
将提示框留空将返回完全随机选择的提示列表。
吸引注意力
此选项在提示中随机选择一个关键字,并随机添加强调。下面是这如何影响提示的示例:
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
勾选高级选项下的固定种子复选框,以查看重点如何在不更改种子的情况下更改图像。
将提示写入文件
选中将提示写入文件复选框以创建包含所有生成提示的文件。生成的文件是提示符的下垂版本,可以在与生成的图像相同的目录中找到,例如 outputs/txt2img-images
金贾2模板
Jinja2 模板是一项实验性功能,可用于强制定义提示。这是一项高级功能,仅建议习惯编写脚本的用户使用。
您可以在此处更详细地阅读它们
WILDCARD_DIR
扩展名在WILDCARD_DIR中查找通配符文件。默认位置是 /path/to/stable-diffusion-webui/extensions/sd-dynamic-prompts/wildcards。它也可以在主webui config.json的wildcard_dir下手动定义。如有疑问,webui 中扩展的帮助文本会列出WILDCARD_DIR的完整路径
收集
集合目录包含修饰符库,您可以按原样使用这些修饰符库或引导自己的修饰符库。若要开始,请使用“通配符管理器”选项卡将一个或多个集合复制到通配符文件夹,也可以手动复制文件。三个集合与动态提示扩展捆绑在一起。
Jumbo是一个非常大的通配符集合,涵盖许多类别,包括美学,外观,艺术家,媒介,风格和时间。这是一项正在进行的工作,但旨在为各种修饰符类别提供良好的覆盖范围。
鹦鹉区是一个更小、更易于管理的集合,来自 https://proximacentaurib.notion.site/e28a4f8d97724f14a784a538b8589e7d?v=42948fd8f45c4d47a0edfc4b78937474。
Devilkkw更注重角色塑造,衣服,手势,食物等
如果您使用的是 Unix/Linux 操作系统,则可以轻松创建指向相关集合的符号链接,而不是在不打算更改它时将其复制。例如
ln -sr collections/parrotzone wildcards/
您还可以通过在扩展的根目录中运行来下载其他扩展,即python _tools/download_collections.py
extensions/sd-dynamic-prompts/
动态提示和随机种子
随机种子在控制生成输出的随机性方面起着重要作用。让我们讨论动态提示如何在不同场景中与随机种子一起工作。
未启用动态提示
- 如果种子设置为 -1:随机选取种子。此种子用于生成第一个图像,然后使用 seed + 1 创建下一个图像,并且此模式继续用于后续图像。
- 如果种子设置为大于 -1 的特定数字:该过程与上述过程类似,但从用户指定的种子开始。
- 如果定义了变体种子,但变体强度为零:该过程与前两点相同。
- 如果变体种子设置为大于 0 的数字:每个图像都是使用相同的初始种子(由用户随机选择或设置)生成的。变体种子可以是随机的(如果设置为 -1),也可以是用户选择的值。第一个图像是使用变体种子生成的,下一个图像是使用变体种子 + 1 生成的,依此类推。
在随机/标准模式下启用动态提示的情况下使用:
- 如果种子设置为 -1:该过程类似于上一节中的第一个点。但是,也使用相同的种子选择提示(如果使用随机提示生成器)。
- 如果种子设置为大于 -1 的数字:该过程类似于上一节中的第二点。但是,不同之处在于,还会使用所选种子生成随机提示(如果使用提示生成器)。
- 如果选中“固定种子”复选框:所有图像和提示都使用相同的种子。这意味着重复生成相同的图像(这对于组合生成很有用)。
- 如果同时选中了“固定种子”和“取消种子与提示的链接”复选框:提示使用随机种子,但所有图像使用相同的种子。如果要查看不同的提示如何影响同一图像的生成,此设置可能很有用。
带有动态提示的变体种子
- 变体强度设置为 0:忽略变体。
- 变体>设置为数字 0:系统会为每张图片分配一个变体种子,每次递增 1。但是,由于您正在寻找同一图像的变体,因此仅生成 <> 个提示。
具有变化强度的组合模式 > 0
在这种情况下,它只会为您生成第一个图像,这可能不是您想要的。要获得所需的结果,您可能需要调整设置或使用其他模式。
原文链接:https://cj.suclub.top/3591.html,转载请注明出处。
请先
!