Содержание статьи
Приступаем
Чтобы гонять SDXL локально, нам потребуется видеокарта относительно свежего поколения и хотя бы 6 Гбайт видеопамяти, также подойдет «мак» с чипом серии M. Однако я буду все делать в Windows на машине с картой Nvidia.
Установщик будет качать и ставить многочисленные модули общим объемом 10–15 Гбайт, так что предлагаю промотать статью вниз и сразу запустить процесс, чтобы все успело скачаться, пока ты читаешь статью.
Тебе понадобится Python версии 3.10, и никакой другой — в актуальной сборке Python 3.12 не работают некоторые нужные пакеты. Скачать его можешь с официального сайта.
Установив Python, скачай приложение Fooocus со страницы проекта на GitHub. Распакуй архив в папку, куда будет установлено приложение, и запусти установщик одной из команд:
-
run.
— будет скачана модель общего назначения;bat -
run-realistic.
— будет скачана фотореалистичная модель;bat -
run-anime.
— скачает модель, которая будет генерировать изображения в стиле аниме.bat
Повторюсь, времени это займет много — проект использует сотню с небольшим пакетов, а для его работы понадобится скачать файл модели SDXL размером в 6,5 Гбайт. Пока это происходит, разберемся, что это за Fooocus такой и какое отношение он имеет к Stable Diffusion.
Stable Diffusion XL в облаке
Пока скачиваются необходимые для работы Fooocus файлы, Stable Diffusion XL можно опробовать быстро и совершенно бесплатно, воспользовавшись DreamStudio — официальным облачным сервисом, созданным в Stability AI.
Интерфейс простой: строка ввода, выбор соотношения сторон и количества генерируемых изображений. Система даже подставит случайный запрос — в моем случае это «a woman holding a gun stands in a desert 1800’s America Western town». Запрос не хуже других, будем и дальше отталкиваться от него.
Жму на кнопку, через несколько секунд изображения готовы. Их можно скачать «как есть», в разрешении 1024 на 1024, или воспользоваться умным алгоритмом повышения разрешения ESRGAN.
На первый взгляд картинки выглядят симпатично, приятная цветовая гамма в духе старых фотографий.
Однако сразу бросаются в глаза известные болячки нейросетей: лица и конечности. Лицо, кисти рук — извечная беда Stable Diffusion. И если с кистями рук все не так однозначно (слишком гибкие, слишком много возможных положений), то лица нейросеть должна генерировать идеально — но только если у нее достаточно пространства для работы.
Суть проблемы: изображения создаются в низком разрешении; в результате тех пикселей из полного разрешения в 1024 на 1024 точки, которые занимает небольшое на отдалении лицо, просто недостаточно, чтобы тщательно отрисовать объект. С этой бедой можно справиться, чем мы и займемся чуть позже, уже в локальной версии Stable Diffusion.
Локальные дистрибутивы Stable Diffusion
Сама по себе Stable Diffusion работает через командную строку и требует определенных навыков для установки и использования. Делать это вручную нет никакой необходимости: в сети достаточно готовых сборок, где к нейросети прикручен локальный веб‑интерфейс (а иногда и не веб; есть сборки, в которых взаимодействие с сетью сделано в виде отдельного приложения, обычно для Windows). Новому пользователю разобраться во всех этих сборках и отличиях между ними непросто.
Пожалуй, самая популярная сборка для обладателей карт Nvidia — это Stable Diffusion web UI, она же — AUTOMATIC1111. Однако не так просто будет с нуля разобраться во всех параметрах генерации, а первые результаты, вероятно, не поразят качеством. Более того, сам процесс генерации на слабой видеокарте может оказаться настолько медленным, что ты можешь подумать, что вся эта возня не для тебя. Все это вполне решаемо, и AUTOMATIC1111 не зря самая популярная сборка. Тем не менее начинать работать со Stable Diffusion я рекомендую с чего‑то более простого, и Fooocus для этого подходит идеально.
Какие вообще бывают сборки?
Сборок Stable Diffusion множество, я упомяну только те, что меня заинтересовали больше других.
- Fooocus — идеальна для начинающих, сразу выдает картинки отличного качества, хорошо работает как на слабых, так и на мощных видеокартах. В то же время серьезно ограничивает пользователя.
- AUTOMATIC1111 — один из наиболее популярных проектов. Здесь есть огромные возможности для расширения через подключаемые модули. Но здесь довольно высокий порог вхождения. Как правило, если появляется какое‑нибудь новое интересное решение для Stable Diffusion, то в первую очередь оно оформляется в виде расширения для A1111.
- Форк AUTOMATIC1111 за авторством vladmandic — тут еще более широкие возможности, но и еще более высокий порог вхождения по сравнению с оригиналом. Многие полезные расширения, которые в A1111 нужно искать и устанавливать самостоятельно, уже входят в сборку, но мне удалось добиться стабильной работы лишь с третьей попытки.
Три перечисленные выше сборки используют унифицированный синтаксис для составления запросов. Это полезно, например, для того, чтобы просто скопировать запрос с сайта Civitai.
- InvokeAI — еще один интересный продукт. Синтаксис отличается, а пользовательский интерфейс отличается очень сильно.
- ComfyUI — проект с уникальным интерфейсом, название которого, впрочем, не должно тебя обмануть: ничего особенно комфортного тут нет. Чтобы сгенерировать картинку, нужно создавать узлы и соединять их стрелочками, как это делалось в стародавние времена на блок‑схемах, которые изучались на уроках информатики.
- nod.ai SHARK — проект, оптимизированный для карт AMD. Другие проекты могут работать с картами AMD, но у SHARK это получается намного лучше.
Первый запуск
Когда установка Fooocus завершится, можно запускать. В зависимости от того, какой файл ты запустишь, программа использует предустановленные настройки для генерации изображений одного из перечисленных типов. При первом запуске соответствующего файла нужная модель (размером 6,5 Гбайт) будет скачана автоматически. В браузере откроется пустое окно с полем ввода и большой кнопкой Generate.
Вводим запрос:
a woman holding a gun stands in a desert 1800's America Western town
Через несколько секунд получаем пару изображений.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»