Содержание статьи
- WebUI reForge dev
- Установка reForge dev с нуля
- Пути к моделям
- Обновление существующей сборки
- Начало работы: раскладываем расширения по полочкам
- Расширения-улучшения
- Быстрый выбор соотношения сторон
- Сохранение конфигурации
- Очередь задач
- Превью моделей
- Теги Danbooru для аниме-моделей
- Динамические запросы
- Детализация рук и лиц
- Улучшайзеры
- Механизм внутреннего внимания
- Бесплатный ланч
- Выводы
WebUI reForge dev
Интерфейс reForge — это форк WebUI Forge, который, в свою очередь, является форком WebUI AUTOMATIC1111, уже, возможно, знакомого тебе по статьям «ReForge. Улучшаем картинки, генерируемые Stable Diffusion» и «Семплеры и шедулеры. Разбираем два важных механизма улучшения генеративных картинок». В первой я рассказывал об установке продукта на компьютер и начале работы, во второй описаны разные семплеры и шедулеры.
Сегодня же мы будем говорить о расширениях (extensions) — как уже встроенных в продукт, так и сторонних. Но прежде, чем приступить к исследованию, мы обновим нашу копию веб‑интерфейса reForge до свежей сборки и переключимся на ветку «для разработчиков», что откроет доступ к некоторым вещам, недоступным пользователям стабильной сборки.
На странице проекта перечислены ветки main, dev, dev2 и experimental; если ты видишь какие‑то другие ветки, значит, автор проекта Panchovix затеял очередное переименование. По задумке разработчика, основная ветка main должна быть максимально стабильной и совместимой; в нее входят обновления из A1111 (в частности, новые семплеры и шедулеры), в ней же сделаны патчи для одновременной загрузки нескольких моделей.
В эту ветку не входят свежие обновления движка Comfy; чтобы получить к ним доступ, нужно переключиться на ветку dev, в которой есть все из main плюс выборочные обновления и функции из Comfy.
В теории эта ветка работает быстрее основной, однако можно добиться реального прироста производительности, обновив вручную torch до версии torch-2.5.1+cu12 и torchvision до версии torchvision-0.20.1+cu124. Обновления лучше брать с сайта проекта или сразу качать wheel с соответствующими именами файлов. Надеюсь, с установкой в папку stable-diffusion-webui-reForge\
и чисткой «хвостов» старых версий ты разберешься.
Установка reForge dev с нуля
Для начала установи Python версии 3.12 (да, это старая версия Python; нет, 3.13 ставить не стоит, часть расширений не заведется) и Git, а также убедись, что они добавлены в переменную PATH. Python можно взять с официального сайта.
Самым правильным способом установки reForge dev будет установка «с нуля» в новую папку, например stable-diffusion-webui-reForge
или stable-diffusion-webui-reForge-dev
. Разработчик неоднократно переименовывал файлы, выносил встроенные расширения «наружу» и совершал обратные операции, в результате чего образовалось множество «хвостов» в виде «зависших» папок __pycache__
, из‑за которых образовались конфликты между остатками расширений.
Разработчик рекомендует для этого такую последовательность команд:
git clone https://github.com/Panchovix/stable-diffusion-webui-reForge.git
cd stable-diffusion-webui-reForge
git checkout dev
Внимание: установив свежую сборку reForge, пока не запускай продукт! Для начала отредактируй файл environment.
и включи venv:
set SKIP_VENV=0
Эта переменная указывает, что нужно создать изолированное окружение для конкретной сборки reForge. Это позволяет избежать конфликтов в установленных пакетах и зависимостях.
В файле webui\
можно указать еще и ряд переменных, способных увеличить производительность, изменить пути к моделям и включить темную тему интерфейса. Перечислю основные — они указываются в строку, ее можно просто вставить в файл webui-user.
; использовать их, разумеется, не обязательно — параметр COMMANDLINE_ARGS
можно оставить пустым.
set COMMANDLINE_ARGS=--vae-in-bf16 --pin-shared-memory --cuda-malloc --cuda-stream --theme dark
Все параметры, кроме --theme
, который активирует темную тему, относятся к повышению производительности; если твоя видеокарта несовместима с какими‑либо из этих параметров, не используй их. Узнать, поддерживаются ли они, можно только после полной установки и первого запуска reForge; если при запуске в терминале выводятся подобные строки, то их имеет смысл попробовать:
Hint: your device supports --pin-shared-memory for potential speed improvements, but may cause issues.
Hint: your device supports --cuda-malloc for potential speed improvements.
Hint: your device supports --cuda-stream for potential speed improvements, but may cause some issues.
Пути к моделям
Базовые модели, а также всевозможные лоры и текстовые инверсии удобно хранить отдельно от основной установки WebUI, в том числе на другом диске. К примеру, можно указать следующие пути:
set COMMANDLINE_ARGS=%COMMANDLINE_ARGS%^
--models-dir "%CD:~0,2%/models/"
С такими настройками модели (как базовые, так и те, которые хранятся по умолчанию в папке \
) должны будут находиться в папке /
того же диска, куда установлен reForge. Соответственно, если ты решишь использовать такую схему, тебе нужно будет перенести всю папку моделей в корень диска:
\stable-diffusion-webui-reForge\models → \models
Также стоит сразу скачать в папку \
какую‑нибудь модель SDXL — например, gtmUltimateBlendXL_v25CosXL, с которой мы будем экспериментировать дальше. Если ты этого не сделаешь, то одна из моделей для начала работы будет скачана автоматически.
Раньше это была реалистичная модель с архитектурой SD1.5:
realisticVisionV51_v51VAE.safetensors
С недавних пор разработчик reForge заменил модель, и теперь по умолчанию будет скачана модель NoobAI 1.1 EPS, а именно файл NoobAI-XL-v1.1.safetensors. Обрати внимание: эта модель имеет мало общего с обычными моделями SDXL; она умеет генерировать только аниме‑изображения, причем запрос нужно составлять из тегов Danbooru. Короче говоря, выбери и скачай в нужную папку более универсальную модель.
Примеры моделей:
- AlbedoBase XL — удачная универсальная модель с максимально широким покрытием имеющихся в рамках SDXL концепций.
- CyberRealistic — еще одна качественная, отлично сбалансированная модель с уклоном в реализм.
- KIKA_real — интересная модель с уклоном в креативность.
- Zaxious_XL — еще одна модель с уклоном в креативность.
- GTM UltimateBlend_XL — модель класса CosXL; серьезно отличается от любых других моделей; несовместима с RAUNet, но способна выдавать качественный результат.
Для генерации изображений в стиле аниме на сегодняшний день лучше всего использовать одну из моделей на основе Illustrious. Модели семейства v-pred имеют ряд особенностей, и к ним неприменимы некоторые из описанных ниже приемов.
Полностью сформированный файл webui-user.
может выглядеть приблизительно следующим образом:
@echo off
set PYTHON=set GIT=set VENV_DIR=set COMMANDLINE_ARGS=--vae-in-bf16 --pin-shared-memory --cuda-malloc --cuda-stream --theme dark
set COMMANDLINE_ARGS=%COMMANDLINE_ARGS%\^--models-dir "%CD:\~0,2%/models/"call webui.bat
Далее запусти файл webui-user.
и дождись установки всех пакетов. Если в процессе возникнет ошибка «python.exe: no module named pip», тебе нужно будет зайти в папку, в которой у тебя установлен Python и выполнить следующую команду:
python -m ensurepip
После этого будут скачаны и установлены зависимости (около 6,5 Гбайт) и программа наконец запустится.
Обновление существующей сборки
Если у тебя уже установлена стабильная сборка main, ты можешь попробовать переключиться на ветку dev, открыв командную строку в папке stable-diffusion-webui-reForge\
последовательностью команд:
git switch dev
git pull
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»