September 12, 2022

Установка и использование Stable Diffusion для генерации изображений

В этой инструкции подробно о том, как установить Stable Diffusion на ваш компьютер или ноутбук, о возможности попробовать нейросеть в работе без установки и некоторые дополнительные детали, которые могут оказаться полезными.

Установка Stable Diffusion

Нейросеть Stable Diffusion отличается от таких аналогов как DALL-E 2 или Midjourney открытым исходным кодом: то есть, при наличии соответствующего оборудования вы можете совершенно бесплатно установить необходимое ПО на свой компьютер и использовать для создания изображений по текстовому запросу (в обсуждениях часто используют кальку с английского «промпт»).

Официальное ПО Stable Diffusion не имеет удобного графического интерфейса, за исключением доступного на официальном сайте https://beta.dreamstudio.ai/, с которого и рекомендую начать эксперименты и посмотреть, нужно ли вам это: после регистрации у вас будет 200 бесплатных генераций с параметрами по умолчанию (регистрироваться можно и больше раз с разными адресами электронной почты).

При установке официального софта на компьютере все действия придётся выполнять в командной строке. Кроме того, вы мало что сможете сгенерировать с видеокартой, имеющей 6 Гб памяти или менее.

Однако, благодаря открытому исходному коду, почти сразу после релиза Stable Diffusion появились альтернативные варианты ПО («форки»), оптимизирующие запуск на более слабом оборудовании (4 Гб VRAM, есть даже варианты, работающие на CPU, но очень медленно), предоставляющие удобный доступ к настройкам и упрощающие использование нейросети.

С одного из таких альтернативных вариантов, который я нашел наиболее удачным, и начнем установку. Если же вам требуется описание процесса установки официального варианта, его вы также сможете найти далее в статье.

Установка Stable Diffusion WebUI от Automatic

Сначала о том, что нам потребуется: достаточно мощный компьютер или ноутбук, видеокарта NVIDIA GeForce не менее 4 Гб видеопамяти. Все устанавливаемые компоненты займут около 10 Гб на жестком диске или SSD. Если всё это в наличии, можно приступать:

1. Скачайте и установите Git https://git-scm.com/download/win Используйте рекомендуемые параметры (оставьте возможность использования Git в командной строке и сторонних программах).

2. Установите Miniconda3 с официального сайта https://docs.conda.io/en/latest/miniconda.html, при установке выберите опцию Установить для всех пользователей.

3. Скачайте архив Stable Diffusion с официального источника https://github.com/CompVis/stable-diffusion (нажать по кнопке Code, затем выбрать пункт Download ZIP).

4. Скачайте модель Stable Diffusion последней версии с https://huggingface.co/CompVis/stable-diffusion-v-1-4-original (потребуется регистрация) или из этого хранилища (без регистрации), переименуйте файл в model.ckpt.

5. Запустите консоль Miniconda3 (Anaconda Prompt), для этого можно использовать поиск в панели задач Windows.

6. В открывшейся консоли используйте команды для создания папки (в нашем варианте — на диске C) для файлов Stable Diffusion:

cd C:/
mkdir stable-diffusion
cd stable-diffusion

Не закрывайте окно консоли.

7. Откройте скачанный на 3-м шаге архив и скопируйте папку stable-diffusion-main (саму папку, а не файлы в ней) в C:\stable-diffusion\

8. По порядку используйте следующие команды в консоли Miniconda3:

cd C:\stable-diffusion\stable-diffusion-main
conda env create -f environment.yaml
conda activate ldm
mkdir models\ldm\stable-diffusion-v1

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

9. Переместите файл model.ckpt в папку C:\stable-diffusion\stable-diffusion-main\models\ldm\stable-diffusion-v1

10. Готово. Теперь мы можем запустить Stable Diffusion, введя команду

conda activate ldm

В дальнейшем запуск будет всегда производиться именно с помощью этой команды.

11. Генерация изображений выполняется здесь же в консоли с помощью передачи параметров. Например, вы можете ввести:

scripts/txt2img.py --prompt "concept robot, colorful, cinematic" --plms --n_iter 5 --n_samples 1

Команда создаст набор из 5 изображений с разрешением 512×512 по запросу «concept robot, colorful, cinematic», которые будут помещены в папку:

C:\stable-diffusion\stable-diffusion-main\outputs\txt2img-samples\samples

Чтобы увидеть информацию по доступным параметрам командной строки используйте команду:

python scripts/txt2img.py --help

Использование Stable Diffusion WebUI

После запуска webui-user.bat и перехода в браузере на адрес 127.0.0.1:7860 перед вами будет веб-интерфейс, доступный локально на вашем компьютере (для работы Интернет не требуется), первая вкладка которого — txt2img, где и происходит всё самое интересное.

Экспериментировать можно начать сразу же: просто введите текст на английском в поле сверху и нажмите кнопку Generate, чтобы получить готовую картинку с параметрами по умолчанию (на скриншоте они уже изменены).

Если поднести указатель мыши к названию доступных параметров, большинство из них имеют описания на английском. Среди основных:

  • Sampling Method — алгоритм создания изображения. Влияет на результат, скорость, требуемую видеопамять.
  • Sampling Steps — количество шагов, в течение которых нейросеть «приводит» результат к желаемому. Влияет на время генерации. Больше — не всегда лучше: нужный результат может получиться за 30-50 шагов, а дальнейшая работа может не добавить деталей, а исказить результат (но бывает и иначе). Если то, что получилось, вам понравилось, можно использовать тот же Seed для генерации изображения по этому же запросу, но с другим количеством шагов и оценить результат.
  • Batch count — количество наборов создаваемых изображений.
  • Batch size — количество изображений в наборе (влияет на требуемую память).
  • CGF Scale — «свобода» обработчика изображения, влияет на то, насколько точно результат будет соответствовать описанию. При более низких значениях получаем большее разнообразие.
  • Height и Width — ширина и высота изображения, очень сильно влияет на требования к памяти.
  • Seed — «зерно». По умолчанию равно -1, при этом значении оно будет задано случайно при каждом очередном нажатии кнопки Generate. Если с определенным Seed вы получили интересный результат, можете скопировать его в это поле, чтобы продолжить эксперименты над понравившимся изображением, изменяя параметры.

По умолчанию изображения сохраняются во вложенных папках в папке outputs в расположении, куда вы установили Stable Diffusion WebUI, но при желании автоматическое сохранение можно отключить на вкладке Settings, здесь же можно настроить и другие параметры.

Вкладка img2img позволяет модифицировать имеющееся изображение в соответствии с текстовым описанием.

На вкладке Extras собраны дополнительные инструменты. Основное — увеличение разрешения изображения с использованием нейросети.

Значения параметров в большинстве своем вам придётся подбирать самостоятельно, отслеживая результат. Но даже при одних и тех же значениях он может сильно отличаться и прежде всего зависит от заданного запроса, прописанных в нем требований к изображению и стилей. Это может быть простой рисунок в стиле плаката:

А может быть и почти фотография:

Легко создать таких роботов:

И посложнее — таких:

Не забывайте проявлять фантазию, нарисовать можно многое, главное уметь это описать:

Вспоминайте названия кинематографических эффектов, свойств материалов и описания форм:

Чтобы получить лучшие результаты, рекомендую изучить чужие работы и используемые запросы: на тему создания изображений в Stable Diffusion есть множество тематических каналов в мессенджерах, социальных сетях и тематических сайтах. Но и собственные идеи часто могут дать интересный и красивый эффект, время для неожиданных находок в запросах ещё не вышло.

Источник: https://remontka.pro/stable-diffusion-install-use/