Содержание статьи
- 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.10 (да, это старая версия Python; нет, с его актуальной версией работать не будет по крайней мере часть возможностей) и Git, а также убедись, что они добавлены в переменную PATH. Python можно взять как с официального сайта, но старую версию, так и с неофициального свежую 3.10.15.
Самым правильным способом установки 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, пока не запускай продукт! Для начала отредактируй файл webui-user.
, указав следующий путь к папке venv:
set VENV_DIR=%\~dp0venv
Эта переменная указывает, что нужно создать изолированное окружение для конкретной сборки reForge. Это позволяет избежать конфликтов в установленных пакетах и зависимостях.
В этом же файле можно указать еще и ряд переменных, способных увеличить производительность, изменить пути к моделям и включить темную тему интерфейса. Перечислю основные — они указываются в строку, ее можно просто вставить в файл 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=%\~dp0venv
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 3.10), и выполнить следующую команду:
python -m ensurepip
После этого будут скачаны и установлены зависимости (около 6,5 Гбайт) и программа наконец запустится.
Обновление существующей сборки
Если у тебя уже установлена стабильная сборка main, ты можешь попробовать переключиться на ветку dev, открыв командную строку в папке stable-diffusion-webui-reForge\
последовательностью команд:
git switch dev
git pull
Продолжение доступно только участникам
Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».
Присоединяйся к сообществу «Xakep.ru»!
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее