Лучший скрипт для тестов в Stable diffusion. Разбираемся с XYZ plot

Лучший скрипт для тестов в Stable diffusion. Разбираемся с XYZ plot

Если что, говорим про автоматик, инструкция по установке тут

Этот скрипт позволяет делать такие сетки картинок, чтобы проще было увидеть в чем разница между настройками и выбрать наилучший вариант.

Лучший скрипт для тестов в Stable diffusion. Разбираемся с XYZ plot

Зачем?

Удобно:

  1. Один раз указываем основные параметры как при обычной генерации
  2. Выбираем скрипт в выпадающем меню
  3. Указываем параметры которые хотим менять и их значения
  4. Один раз нажали кнопку, а скрипт сделает остальную работу

Найти мы его можем в списке с остальными скриптами, внизу интерфейса.

Лучший скрипт для тестов в Stable diffusion. Разбираемся с XYZ plot

В раскрывающемся меню выбираем X/Y/Z plot и видим перед собой параметры скрипта.

Лучший скрипт для тестов в Stable diffusion. Разбираемся с XYZ plot

Начнем с нижней части, там все быстро и просто.
Draw legend - если стоит, будет добавлять белый фон с подписями со значениями параметров

Лучший скрипт для тестов в Stable diffusion. Разбираемся с XYZ plot

Keep -1 for seeds - по умолчанию, при генерации создаст один случайный сид и будет с ним генерировать всю сетку (галочка не стоит), если вы хотите чтобы для каждой картинки в вашей сетке выбирался случайный сид то ставьте галочку (важно чтобы и в основных параметрах тоже стоял -1, а то вы поставите галочку и он будет для всех ставить тот сид, который в основных параметрах)

Лучший скрипт для тестов в Stable diffusion. Разбираемся с XYZ plot

Include sub images - показывает в превьюшках картинки, которые нагенерировал
Include sub grids - показывает в превьюшках сетки, которые нагенерировал (когда используются все оси)

Лучший скрипт для тестов в Stable diffusion. Разбираемся с XYZ plot

Grid margins (px) - добавит отступы между картинками (на картинке 24px)

Лучший скрипт для тестов в Stable diffusion. Разбираемся с XYZ plot

Swap кого/с кем axes - поменяет местами настройки на указаных осях.
(если у полей были разные настройки, например названия сэмплеров и шаги, то при смене они могут показаться пустыми, нужно еще раз выбрать тот же type)

Лучший скрипт для тестов в Stable diffusion. Разбираемся с XYZ plot

Кстати эта иконка рядом с полем для указания значений, вставит в него все возможные варианты. Типа вы хотите менять сэмплер и по нажатию на кнопку он вставит в поле все сэмплеры что есть. Такая кнопка появляется для всех полей, в которых есть возможность выбора или прописаны параметры по умолчанию.

Лучший скрипт для тестов в Stable diffusion. Разбираемся с XYZ plot

Теперь переходим к самому важному, тут тоже нет ничего сложного.
Ось type - настройка которую мы хотим менять
Ось values - значение этой настройки

При смене букв, меняется только расположение картинок.
Для X изменения будут показываться горизонтально, для Y - вертикально, а для Z - на отдельной сетке (так как на 2d картинке нет третьего измерения)

Лучший скрипт для тестов в Stable diffusion. Разбираемся с XYZ plot

Осталось только разобраться с параметрами которые можем менять. Мы быстренько разберем только те, которые есть по умолчанию, потому что расширения также могут добавлять свои настройки в этот список. Например controlnet добавит такие

Лучший скрипт для тестов в Stable diffusion. Разбираемся с XYZ plot

Но нас интересуют основные

Лучший скрипт для тестов в Stable diffusion. Разбираемся с XYZ plot

Красные (выбор из того, что есть)

Sampler - выбор сэмплера
Checkpoint name - выбор модели
Hires upscaler - выбор апскейлера, если стоит галочка у hires. fix
VAE - выбор VAE
Styles - выбор стилей

Зеленые (конкретные значения)

Seed - основной сид
Var. seed и Var. strength - когда пытаемся смешивать несколько сидов. Тоже самое что и под галочкой extras в основных параметрах, интересующиеся могут глянуть тут
Steps и Hires steps - количество шагов основной генерации и шагов при включенном hires. fix
CFG Scale - обычный CFG; насколько картинка должна соответствовать промпту
Negative Guidance minimum sigma, Sigma Churn, Sigma min, Sigma max, Sigma noise, Eta, UniPC Order - это все для тонкой настройки работы разных семплеров
Clip skip - стандартный клип скип; то на сколько слоев раньше закончится обработка текстовой моделью. Любопытные могут посмотреть неплохой видос у koiboi и прочитать небольшую заметку в вики автоматика
Denoising - если в txt2img, то это денойз при hires fix, а если img2img, то обычный денойз для картинки
Face restore - использовать ли восстановление лиц, аналогично галочке restore faces (чтобы включить надо написать любое из true, yes, y, 1, например yes, no или 1, 0)

В img2img добавляются еще два:
Image CFG Scale и Cond. Image Mask Weight - первый тоже самое что и обычный cfg только относиться к картинке, которую обрабатываем. Он работает с моделями, которые поддерживают такую тему, например всякие pix2pix. Например перекрасим броню в белый (серебристый, металлик? ну вы поняли). На маленьких значениях плохо учитывает изображение, на больших слишком сильно придерживается картинки.

Лучший скрипт для тестов в Stable diffusion. Разбираемся с XYZ plot

Второй работает для инпеинт-моделей; это вес маски при инпеинте. Чем больше значение - тем больше изменений, но они могут не вписаться в картинку, чем меньше - тем меньше изменений, но они лучше впишутся. Хотя с моими примерами максимальное значение в обоих случаях получилось лучше всего

Синие (дополнительные фишки)

Две отдельные фичи этого скрипта для работы с промптами. Возьмем промпт, с которым были сделаны остальные примеры:
masterpiece, best quality, portrait, front shot, 1girl, green cyber suit, robotic parts, looking at viewer, smiling, futuristic city in the background, day time, extremely detailed, sfw, cinematic light

Prompt S/R - поиск и замена текста в промпте.
Например у нас написано day time с расчетом на то, чтобы было соответствующее освещение. А если мы хотим попробовать как оно будет выглядеть ночью/вечером? Выбираем Prompt S/R и в поле для значения пишем day time, night time, а скрипт сам при генерации найдет и поменяет одно на другое.
Важно! Первым должно идти то, что уже есть в промпте

Лучший скрипт для тестов в Stable diffusion. Разбираемся с XYZ plot

Или например не green cyber suit (хотя он и так не зеленым его делает а каким-то бирюзовым), а синий?

Лучший скрипт для тестов в Stable diffusion. Разбираемся с XYZ plot

Примеры примитивные, но надеюсь идея понятна. Чтобы не менять все ручками и каждый раз перезапускать, можно подготовить список нужных замен, запустить скрипт и сидеть курить бамбук

Prompt order
Чуть более бестолковая вещь, но может пригодиться для оттачивания стилей или других заготовок. Находит перечисленные слова и меняет их местами.

Лучший скрипт для тестов в Stable diffusion. Разбираемся с XYZ plot

Изначально было так (наш исходный промпт):
masterpiece, best quality, portrait, front shot, 1girl, green cyber suit, robotic parts, looking at viewer, smiling, futuristic city in the background, day time, extremely detailed, sfw, cinematic light

Потом
masterpiece, best quality, portrait, front shot, futuristic city in the background, green cyber suit, robotic parts, looking at viewer, smiling, 1girl, day time, extremely detailed, sfw, cinematic light

Затем
1girl, best quality, portrait, front shot, masterpiece, green cyber suit, robotic parts, looking at viewer, smiling, futuristic city in the background, day time, extremely detailed, sfw, cinematic light

и так далее, пока не сделает все перестановки

Последнее

Мы хотим пройтись по cfg от 3 до 9.
Вместо того чтобы писать 3, 4, 5, 6, 7, 8, 9, можно указать диапазон 3-9.
Если хочется шаг поменьше сделать, то пишем 3-9 (+0.5) - то что в скобках, это изменение при каждой генерации, то есть он сгенерирует все что нужно с cfg равным 3, потом сделает 3 + 0.5 = 3.5 и сгенерирует с ним и так далее. Можно делать и наоборот если очень хочется, например, 9-3 (-0.5) - сгенерирует тоже самое, только в обратном порядке.
И еще вариант: 3-9 [3]. Мы считать не хотим, а хотим чтобы он сам подобрал три равных промежутка (будет 3, 6, 9, а для 3-9 [5] будет 3, 4.5, 6, 7.5, 9)

А на этом все. В общем этого должно быть достаточно, чтобы дальше вы сами поигрались со скриптом и использовали его в своей работе.

Всем кискам пис, всем пискам кис.
Заглядывайте в телеграм и на ютуб

9696
11 комментариев

Всем кискам пис, всем пискам кисСпасибо

2
Ответить

Обращайся

Ответить

Лайк, подписка, ты кто.

Ответить

Я - лайк, по выходным - подписка

Ответить

Поставь тег, чтобы не потерялось.

Ответить

Дело говоришь, добавил, спасибо

Ответить

есть ли похожее решение для перебора собственно промптов?

Ответить