Как начать пользоваться нейросетью Stable Diffusion
Автор: Mare StressДобрый день автор, читатель, или просто заинтересованный в этой теме прохожий.
Если вы уже давно желали попробовать поработать с нейросетью для генерации изображений, но все никак не решались, то милости прошу сюда. Я не профессионал, но все же было принято решение написать этот мини-гайдик. Может быть кому-то он будет полезным.
Для начала скажу, почему мой выбор пал именно на Stable Diffusion?
Все очень просто. Все остальные сети не имеют столь огромной фанатской скажем так базы. Во-вторых, данная нейросеть не ограничивает вас ни в чем, только вашим воображением и терпением. И самое главное, за ее использование вам не надо никому платить.
Чтобы нейросеть заработала у вас на компьютере, необходимо установить немного дополнительных программ
1. Устанавливаем python 3.10.9 (как обычный софт, оставляем все настройки по умолчанию).
https://www.python.org/ftp/python/3.10.9/python-3.10.9-amd64.exe
2. Устанавливаем git (как обычный софт, оставляем все настройки по умолчанию).
https://github.com/git-for-windows/git/releases/download/v2.41.0.windows.3/Git-2.41.0.3-64-bit.exe
3. Скачиваем репозиторий для доступа к интерфейсу нейросети (прямая ссылка на архив)
https://github.com/AUTOMATIC1111/stable-diffusion-webui/archive/refs/heads/master.zip
ВАЖНО!!!
Распаковываем интерфейс в корень диска (к примеру: C:\stable-diffusion\ ) и лучше всего на ssd диск. От этого зависит скорость работы самой сети.
После распаковки "интерфейса", переходим в папку куда вы его разместили (к примеру: - C:\stable-diffusion\) и находим файлик «webui-user.bat»
Запускаем «webui-user.bat» и дожидаемся до установки дополнительных компонентов. У некоторых этот процесс не быстрый, запасаемся терпением. Вы должны увидеть что-то подобное:
После окончания установки закрываем данное окно и переходим в папку "интерфейса". Вновь находим файлик «webui-user.bat». Нажимаем на нем правой кнопкой мыши и выбираем пункт Изменить. У вас откроется блокнот с текстом.
Проверьте, чтобы внутри было вот так:
@echo off
for /d %%i in (tmp\tmp*,tmp\pip*) do rd /s /q "%%i" & del /q tmp\tmp* & rd /s /q pip\cache.
set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS= --force-enable-xformers --xformers --autolaunch
call webui.bat
Если чего-то нет, дописываем и сохраняем.
Основная настройка нейросети завершена.
Важной директорией является:
Диск где лежит интерфейс доступа к нейросети:\StableDiffusion\models\Stable-diffusion\
В эту папку нужно скидывать модели для нейросети.
Прежде чем начать что-то генерировать надо скачать хотя бы одну модель для нейросети. Скачать нужные и понравившиеся модели можно здесь:
Мне лично нравится вот такие вот модели:
https://civitai.com/models/4384/dreamshaper
https://civitai.com/models/10028/neverending-dream-ned
Но на самом деле их там довольно много. Просто выбираете понравившуюся и качаете. Обратите внимание, что:
!!! Сайт может не открываться без vpn
Так же советую установить в нейросеть расширение для отображения истории генераций. Это очень полезно.
Запускаем сеть через уже знакомый нам «webui-user.bat». Дожидаемся полной загрузки и открываем в любом браузере http://127.0.0.1:7860/
переходим во вкладку Extension --> Install from URL
указываем адрес откуда установить расширение:
https://github.com/yfszzx/stable-diffusion-webui-images-browser
Примечание:
Чтобы придать важность слову, группе слов, или выражению добавляются круглые скобочки. Где нет скобок - стандартная важность слов, а 3 круглые скобки самые важные слова. (Надеюсь понятно объясняю )
Для лучшей генерации необходимо задавать не только слова, что описывают необходимое(promt), но и то, что получить вы бы не хотели(negative promt).
К примеру:
При генерации женского/мужского персонажа, если мы не хотим, чтобы он был голым, нужно в negative указать Nude. Тогда при генерации будут исключены результаты обнаженки
По такому же принципу исключаются плохие генерации пальцев рук, ног, голов и многое другое. Этим же способом можно исключать стили рисования и другие параметры изображений.
Пример генерации от меня:
Promt:
(Masterpiece:1.2), best quality, (illustration:1.2),(Masterfully crafted Glow, lens flare), (ultra-detailed), hyper details, (delicate detailed), (intricate details), synthwave, (cinematic light, best quality Backlights), clear lines, solo female, solo female, perfect body, (1girl), rabbit, cyberpunk, (bioluminescent hair), (glowing eyes), (Dynamic:1.2), ((makeup)), high contrast, (best illumination, an extremely delicate and beautiful), ((cinematic light)), colourful, powerful, (Cinematic masterpiece), splashes of colour, absolutely eye-catching, ((colourful paint splashes on background, dulux,)), ((caustic)), dynamic angle, beautiful detailed smoke, (Captivating),(Intricately Detailed Cinematic synthwave city:1.1), ambient occlusion, ambient light, ray-traced reflections, vaporwave colour palette
Negative:
3d, cartoon, sketches, (worst quality:2), (low quality:2), (normal quality:2), lowres, normal quality, ((monochrome)), ((grayscale)), skin spots, acnes, skin blemishes, bad anatomy, girl, loli, young, large breasts, red eyes, muscular, over saturated, over saturated, over saturated, long neck, (watermark),signature, deformed, ugly, mutilated, disfigured, text, extra limbs, face cut, head cut, extra fingers, extra arms, poorly drawn face, mutation, bad proportions, cropped head, malformed limbs, (mutated hands), fused fingers, long neck, bad anatomy, Dull, barren, Unclear, smudge, muddy, incoherent , no face, no eyes, unfinished lines, small head, random lines, unrealistic hand shape, more than 2 arms, more than 2 legs,(blue eyes), (blue hair)
Width/Height - 512x512
Sampling steps: 20
CFG Scale: 4
Sampler: Euler a,
Seed: 1777312178,
Model: nijidiffusedmix_v20
В итоге получаем вот такую симпатичную зайку:
Некоторые пояснения:
Sampling steps: 20 - Что это? Это количество шагов, за которое изображение будет сгенерировано нейросетью. Оно влияет на детализацию и качество изображения. Считается, что чем больше шагов, тем качественнее будет результат, но на самом деле больше шагов — не всегда лучше. Больше 50 шагов по моему мнению - избыточно.
CFG Scale: 4 - это коэффициент вольности нейросети на ваш запрос. Чем ниже это число, тем ближе к тексту будет генерация, чем дальше, тем дальше от искомого запроса будет результат.
Sampler: Euler a, - Это алгоритмы влияющие на конечный результат изображения. С ними только экспериментировать. Но самыми годными считаются - Euler, Euler a, DDIM и DPM++2M Karras
Seed: 1777312178, - Фактически это номер сгенерированного вами изображения. Порядковый номер в базе нейросети. По умолчанию в данной графе указывается -1 т.е. рандомный сид.
На этом мой гайдик заканчивается. Если он кому-то будет полезен, то мне будет только в радость.