Что такое Stable Diffusion?
Stable Diffusion — графическая нейросеть с открытым кодом. Это значит, что любой желающий программист может получить ее код и использовать по своему усмотрению. И любой желающий вообще может установить ее себе на компьютер, холить, лелеять и обучать нехорошему. Да — в отличии от популярной нейросети Midjourney, где много запретов, Stable Diffusion можно научить очень нехорошему. И даже натренировать ее на картинках для не только взрослых, но и совсем пожилых. Но я надеюсь, что аудитория нашего сайта крайне порядочная.
Нейросеть Stabe Diffusion необходимо обучать, и это тема для отдельного разговора. По-умолчанию она умеет немного. Поэтому, рукастые энтузиасты подготовили для нас уже готовые модели, которые можно скачать и интегрировать к себе. Разные модели обучены на разные картинки — кто-то на фотографии, кто-то на аниме, кто-то на графике или картинах.
Их уже много, и в ближайшее время их станет еще больше, пока это не станет привычным делом.
Системные требования Stable Diffusion
Для того, чтобы установить к себе графическую нейросеть Stable Diffusion нужен как минимум относительно мощный компьютер. Операционная система не важна, но в данном случае речь пойдет об ОС Windows. Желательно 10-й версии, но можно и 11-й, хотя я не встречал пока тех, кто об 11-й лестно отзывается. Далее — нужно установить Python. (да-да, здесь должна быть шутка про игры с Питоном, но ее не будет). Это та программа, которая позволит запускать на компьютере проекты, написанные на этом языке.
Далее скачиваем Git — это набор утилит, которые фиксируют изменения в файлах, позволяет совместно работать нескольким людям с проектом, в нашем случае — нужен чтобы загрузить файлы Stable Diffusion напрямую из репозитория Github. Собственно, сам Stable Diffusion. Можно использовать официальную версию с сайта, а можно использовать крайне удачную сборку от проекта Automatic. Что мы и будем делать.
Собственно — все, переходим к системным требованиям: Для стабильной работы понадобиться компьютер с оперативной памятью (о, неожиданность!). При этом, ее объем важен. Я использовал компьютер с 16Гб и она использовалась во время генерации по-максимуму.
Жесткий диск, желательно SSD. Опять же, я проверял на HDD, но это такое себе развлечение в наше время. Объем данных будет не менее 30Гб в итоге. И самое важно — видеокарта. Минимальные рекомендуемые значения — 4Гб. Лучше 6Гб. Оптимально — от 16Гб. Криптовалютных майнеров подубавилось, поэтому они подешевели. Если же вам не очень повезло, и у вас 2-4Гб, то можно оптимизировать настройки (ниже я напишу), но генерация будет продвигаться крайне медленно, особенно на высоком уровне настроек.Есть разные версии Stable Diffusion, и по-умолчанию, она консольная (пишем руками команду, получаем результат). Но мир не без добрых людей, поэтому мы будем использовать версию нейросети с Web интерфейсом (WebUI).
От мощности компьютера сильно зависит скорость генерации и, возможно, качество создаваемой картинки (видеокарта).
Плохие новости для владельцев видеокарт AMD Radeon: ОЙ… поддержка нейросетей работает хорошо только на видеокартах от Nvidia. В этом случае можно пользоваться готовыми решениями, установить Stable Diffusion от Aitomatic111 в Google colab.
, далее все должно скачаться и установиться само.
Еще есть вариант для эксперементов — Stable Diffusion Portable. Но с ним я еще не игрался. Инструкции более простые, необходимо скачать модель (тоже Deliberate например), запуск через файл
Скачиваем и устанавливаем Python
Разработчики STD при установке указали, что оптимальной версией для запуска Stable Diffusion является 3.10.6. Это не самая последняя версия, но работа на других версиях не гарантируется. Сразу скажу, что у меня была установлена младшая версия, и все запустилось. Но в процессе запуска STD постоянно ругается на несоответствие версий. Если у вас установлена другая версия — лучше ее удалить и установить рекомендуемую. Но, если вы — как и я — любитель веселья и развлечений — нет преград для патриотов. Пробуйте.
Обращаю внимание, что устанавливаем версию 64-бит. Если Вы «счастливый» обладатель версии 32-бит — то увы и ах. Ну в теории работать то оно все будет, но..
После того, как скачали — запускайте установщик. Можно все ставить по-умолчанию (Далее-Далее), можно выставить дополнительные параметры. Но крайне важно поставить галочку напротив «Add Python to PATH» на первом экране. Без этого ваша Windows не пропишет Python в системе, и вы не сможете с ним работать полноценно.
Скачиваем Stable Diffusion на Windows
Прежде чем это сделать, в корне любого диска (желательно, чтобы это был SSD с объемом свободной памяти не менее 50Гб) создаем папку, куда мы поместим графическую нейросеть Stble Diffusion. Назовем ее, допустим «stable-diffusion». Можно как угодно, в принципе. Но лучше, если оно будет в корне диска. Ну и для альтернативно одаренных — использовать кириллицу в названии системных папок не рекомендуется, что бы вам не говорили. Пишем только латинскими буквами.
Далее, открываем Проводник, находим эту папку и жмем правой кнопкой мыши на ней, чтобы открылась дополнительное окошко, находим там строчку “Git Bash Here” (если у вас Windows 11, то сперва выбираем пункт “Показать дополнительные параметры”) и выбираем ее.
git clone
Откроется консоль, в которую копируем и вставляем следующую строчку:
Далее — ждем. Сложно сказать сколько, на мощном компьютере это будет минут 5, на тормозном как у меня и со слабым каналом Интернет это заняло минут 30. Иногда будет казаться, что все зависло и ничего не происходит — не поддавайтесь искушению все закрыть как я, наберитесь терпения.Когда установка окончится, появится строчка: «running on local URL: /» Это, собственно — адрес веб-интерфейса.Все установилось, окно НЕ закрываем, все уже работает. Вторичный запуск произойдет значительно быстрее.
Теперь в вашей созданной папке stable-diffusion появилась папка с данными — «stable-diffusion-webui».Закрываем консоль (на крестик нажимаем) и приступаем к дальнейшей настройке.
Установка нейронной сети
3. После распаковки запускаем в папке C:\stable-diffusion-ui файл Start Stable Diffusion UI. cmd и дожидаемся окончания загрузки и установки всех необходимых зависимостей.
Если входе загрузки появится подобная ошибка, то выполните перезапуск программы.
4. Ближе к завершению установки вас автоматически перенесёт в браузере по адресу localhost:9000. И можно гордо заявить, что дело сделано. Однако не спешите вводить запрос и нажимать Make Image, так как перед нами пока всего лишь тело без мозгов.
Загружаем готовую графическую модель
По-умолчанию, используется базовая графическая модель, с которой тоже можно работать, но придется заняться ее обучением (и это тема для отдельной статьи). Проще скачать уже готовую натренированную модель (хм.. натренированная модель звучит очень эротично) и использовать ее.
Модель отвечает за то, в каком стиле будет выглядеть ваше изображение. Модели имеют расширение «.ckpt» или «.safetensors». Забиваем в поиске браузера «модели для stable diffusion», и выбираем понравившийся ресурс. Например западный сайт / большой выбор моделей, на текущий момент в топе находится Deliberate, ее и будем использовать, т.к. выглядит красиво..
Скачиваем файл по кнопке download и перемещаем его в папку /stable-diffusion/stable-diffusion-webui/models/Stable-diffusionМожно скачать несколько разных моделей для разных нужд и использовать их потом через выбор в интерфейсе.
Установка модели
Чтобы нейронная сеть понимала, что и как рисовать, ей необходимы обученные мозги. Вручную обучать их слишком долго, и ради экономии времени люди создали веб-ресурсы, где делятся заранее обученными моделями.
- — множество моделей с удобным поиском и демонстрацией результата.
- — множество различных моделей.
Перезапускаем нейронную сеть через Start Stable Diffusion UI. cmd и в панели управления выбираем скаченную модель.
На этом установка модели официально завершена и можно переходить к генерации желаемой картинки.
Проблемы при установке STD
В принципе, если все было выполнено верно, проблем быть не должно. Пока из известных проблем есть прерывание с ошибкой в процессе установки. В большинстве случаев это вызвано некорректной версией Python. Если это так, то нужно установить корректную версию Python, удалив предыдущую и удалив из установленной программы папку «vnev».
Вторая по распространенности ошибка — не запускается Веб интерфейс. В этом случае нужно проверить правильность пути — / (именно http://, а не https://)
Запуск Stable Diffusion
Все с установкой и настройкой.Заходим в папку и запускаем файл /stable-diffusion/stable-diffusion-webui/webui-user, просто нажав на него два раза левой кнопкой мыши, как обычный файл. Если все прошло успешно (ошибиться сложно, если честно), то открывается консоль и STD запускается.Далее, в любимый браузер копируем и вставляем путь / (http://!!! не перепутайте), и открывается окно с настройками программы.
Интерфейс Stable Diffusion
Итак, после запуска веб-интерфейса вы должны увидеть такую картинку. Перевод написан, пройдемся по интерфейсу первой вкладки сверху-вниз. Количество настроек может загнать в ступор, но «орешек знаний тверд, и мы не привыкли отступать».
Stable Diffusion checkpoint — модель, которую мы используем и которую загрузили. Напоминаю, можно загрузить несколько разных моделей под задачу и переключаться между ними.
- Text2image — генерация картинки по текстовому запросу
- Img2img — генерация картинки по своей картинке, которую загружаем и текстом даем запрос. Подзакладка Inpaint создаст на картинке маску, в которую можно впечатать новую картинку по новому запросу.
- Extras — Upscale, улучшение качества готовой картинки (своей или сгенерированной).
- PNG Info — дает информацию по сгенерированной картинке, включая запрос по которому велось создание
- Checkpoing Meager — сделать одну картинку из двух своих
- Train — обучение нейросети Stable Diffusion
- Settings — очень, очень много настроек. Очень!
- Extantions — установка расширений и скриптов из Git репозитория.
В принципе, если не заниматься обучением и оптимизацией, что является отдельным весельем, можно работать в четырех первых вкладках. В данной инструкции мы разберем только первую вкладку — text2image, остальные три примерно похожи по смыслу.
Далее, поле Prompt — в котором мы пишем основной запрос. Это главное поле, с которым мы будем работать. О генерации и составлении запросов — ниже.
Затем, поле Negative Prompt — здесь мы указываем то, чтего НЕ должно быть на кртинке, например: в основном поле Prompt пишем: Paris street. Получаем картинку улиц Парижа.
Добавляем в поле Negative Prompt параметры-исключения, которые мы не хотим видеть — люди, машины (people, cars). Получаем картинку без людей и машин.
Sampling method выбирает методы генерации изображения. Их там over много, я с ними подробно не разбирался. RTFM, так сказать. Годными можно считать несколько — Euler, Euler a, DDIM и DPM++2M Karras.
Sampling steps — вариативность генерации картинки. Чем значение меньше — там повышается скорость. Чем больше — тем скорость медленнее. Низкие значения сильно ухудшают качество генерации. Однако, оптимальные картинки получаются на средних параметрах.
Restore faces — улучшает качество портретов при генерации лиц. Требует загрузки дополнительного модуля (установленная галочка дополнительно подгружает нужные модули. Мне показалось, что без этого параметра результат получается не сильно хуже, чем с ним. И качество запроса играет гораздо большую роль, чем выставление дополнительных параметров. Restore faces — улучшает качество портретов при генерации лиц. Требует загрузки дополнительного модуля (установленная галочка дополнительно подгружает нужные модули. Мне показалось, что без этого параметра результат получается не сильно хуже, чем с ним. И качество запроса играет гораздо большую роль, чем выставление дополнительных параметров.
Tiling — модуль, необходимый для создания паттернов. Генерирует повторяющиеся изображения. Вот, например картинка по тому же запросу «Paris street» Tiling — модуль, необходимый для создания паттернов. Генерирует повторяющиеся изображения. Вот, например картинка по тому же запросу «Paris street» Tiling — модуль, необходимый для создания паттернов. Генерирует повторяющиеся изображения. Вот, например картинка по тому же запросу «Paris street»
Hires. fix — позволяет работать с генерациями формата high resolution, генерирует картинки более высокой четкости и фотографического качества. Потребляет сильно больше ресурсов, генерация занимает большее время, и включение данного параметра добавляет несколько дополнительных настроек.
Далее — Width и Height — задает размер получаемого изображения. Если при всех настройках по-умолчанию это 512*512, то в максимальных настройках (при отключенных модулях hires и прочих) — 2048*2048. Этот параметр кардинально влияет на скорость, в максимальном варианте увеличивая ее примерно в 100 раз. Так, при моих параметрах железа (i7, 16RAM, 8Gb Nvidia) — в стандарте генерация занимает около минуты. А при максимальных настройках — более 2-х часов.
Batch count и Batch size — увеличивают количество картинок в генерации. Например, выставление параметра Batch count на 4 создает сразу 4 картинки. Batch size — увеличивают количество картинок в генерации. Например, выставление параметра Batch count на 4 создает сразу 4 картинки.
Параметр
CFG Scale (the classifier-free guidance scale) это параметр точности выдачи. Чем больше значение, тем более картинка будет похожа на исходный запрос. Но и получившийся вариант будет более абстрактным. Вот, например, наши » улицы Парижа «, с CFG Scale выставленным в максимальное значение — 30: CFG Scale (the classifier-free guidance scale) это параметр точности выдачи. Чем больше значение, тем более картинка будет похожа на исходный запрос. Но и получившийся вариант будет более абстрактным. Вот, например, наши » улицы Парижа «, с CFG Scale выставленным в максимальное значение — 30: CFG Scale (the classifier-free guidance scale) это параметр точности выдачи. Чем больше значение, тем более картинка будет похожа на исходный запрос. Но и получившийся вариант будет более абстрактным. Вот, например, наши » улицы Парижа «, с CFG Scale выставленным в максимальное значение — 30:
И, наконец, параметр Seed. Изначально он выставлен в -1 и генерирует изображения с уникальным ядром (seed). И у каждой картинки он уникальный свой. Сгенерировав картинку, можно скопировать уникальный seed и использовать его для генерации следующей картинки в похожем стиле.
Генерация картинок вкратце
Для того, чтобы сгенерировать картинку по-умолчанию, нужно заполнить текстовое поле «prompt» (по-умолчанию понимает только английский язык), и нажать кнопку «Generate». В зависимости от мощности компьютера, стандартная картинка по запросу создастся в среднем в течении 40 секунд. Как правило, это будет что-то совершенно простое. Для получение более впечатляющих картинок, придется играться с настройками и учиться писать более подробные запросы (prompt).
В этом варианте графическая нейросеть понимает только англоязычные запросы. С русификацией я еще не разобрался. и это будет тема для другой статьи.
Чем проще запрос — тем хуже картинка. Чем длиннее запрос — тем качественнее изображение. Попробуйте вбить в Prompt разные запросы и увидите разный результат.
а «cyborg dog with a visible detailed torso muscles cable wires biopunk cybernetic cyberpunk white marble bust nikon m50 100mm sharp focus hyperrealism highly detailed intricate details carved by donatello»выдаст такую картинку:
Если у вас проблемы с английским, то можно забить в поиске и найти множество готовых запросов от других авторов, и экспериментировать с ними. Можно составить запрос на русском и перевести его через онлайн переводчик. Можно также воспользоваться сервисами по написанию запросов. Ссылок не будет, их множество и они постоянно меняются, запрос для поиска «stable diffusion prompt generator» или «генератор запросов для stable diffusion».
Ну и вариант для экстремалов — взять себя за ж. и выучить, наконец другие языки. Это не так сложно как кажется, но значительно расширяет кругозор, формирует новые нейронные связи, а также — позволяет взаимодействовать с остальным миром, находить информацию, экономить на путешествиях и многое другое. Правительствам всех стран не интересно иметь образованное общество. Нельзя жить в стране и быть против своей страны, но можно становиться умнее и не поддаваться на манипуляции.
Некоторые пользователи считают, что графическая нейросеть Midjourney — это Apple Mac, а нейросеть Stable Diffusion — это Linux. Это так, потому что в случае с Midjourney вы платите деньги и получаете сногсшибательный результат. В случае же со Stable Diffusion — вы должны прочитать кучу мануалов, перелопатить тонну настроек, найти хорошие готовые модули, либо самостоятельно месяцами обучать нейросеть под свою задачу. Но в этом и цель — так как Midjourney ограничена как минимум западными правовыми рамками, а STD это инструмент тонкой настройки, где вы сам себе хозяин.
Следующая статья (готовится) — по интерфейсу Stable Diffusion. Как его настраивать, использовать. Также планируем мануалы по запросам (prompt), где расскажем как получить желаемый результат. И в планах — статьи по настройке своего внешнего сервера нейросети, а также — статьи по текстовым GPT сетям. Stay tuned.
Генерация
У меня видеокарта AMD и я вынужден всё считать ресурсами CPU. У вас качество и скорость генерации может отличаться.
- Запрос: A necromancer girl with green eyes, realistic, ultra HD (Девушка-некромант с зелеными глазами).
- Модель: NeverEnding Dream.
- Количество проходов: 180 (CPU).
- Сэмплер: PLMS.
- Фильтры и стили: подробный, красивое освещение, зло.
- Исправление лица: активно.
- Апскейлинг: активирован.
Результат
Если прикупить Nvidia и добавить пару сотен проходов, то станет ещё лучше!
Нейросеть FusionBrain
Пример нейросети от SberAI, работающая на разных моделях и в первую очередь — на модели Kandinsky2.1. Показывает довольно качественный результат, слегка уступает Миду (Midjourney) на момент написания статьи.
Запросы пишутся примерно так же как и для всех других нейросетей, чем полнее запрос — тем лучше результат. Хорошо получаются запросы по художественным произведениям стиль {художник}. Вот пример запроса для Fusion Brain. «портрет демона-волка, красные сияющие глаза, смотрит на зрителя, стоит на фоне грозы, пугающий, страшный, ужасный, оборотень, высокое качество, фотография, много деталей, гиперреализм».
Другие примеры можно создать самому, либо в различных сервисах по генерации запросов нейросетям. Их уже много, на текущий момент русскоязычных сервисов не найдено, но есть например Этот.
Частые вопросы по установке нейросетей на Windows
Вопрос: Какие минимальные системные требования для запуска Stable Diffusion локально?
Ответ: Для комфортной работы потребуется Windows 10/11, процессор с поддержкой AVX, минимум 8 ГБ ОЗУ (рекомендуется 16+ ГБ) и видеокарта NVIDIA с 4+ ГБ памяти (или аналогичная AMD с поддержкой ROCm).
Вопрос: Обязательно ли устанавливать Python?
Ответ: Да, для работы большинства локальных нейросетей, включая Stable Diffusion, Python является обязательной средой выполнения, так как код написан на этом языке.
Вопрос: Где безопасно скачать Stable Diffusion?
Ответ: Официальный код находится на GitHub в репозитории AUTOMATIC1111/stable-diffusion-webui. Скачивать исполняемые файлы следует только с проверенных источников, указанных в официальной документации.
Вопрос: Что такое модель (checkpoint) и где её взять?
Ответ: Модель — это файл с обученными весами нейросети, определяющий стиль генерации. Базовые модели можно найти на Hugging Face, Civitai и других специализированных площадках.
Вопрос: Куда помещать скачанные модели?
Ответ: В папку `stable-diffusion-webui\models\Stable-diffusion`, созданную в процессе установки. После этого модель нужно выбрать в интерфейсе веб-UI.
Вопрос: Что делать, если установка зависает или выдает ошибку?
Ответ: Убедитесь, что установлены все системные зависимости (Python, Git), отключите антивирус на время установки, запустите скрипт от имени администратора и проверьте наличие достаточного места на диске.
Вопрос: Чем FusionBrain отличается от Stable Diffusion?
Ответ: FusionBrain — это российская онлайн-платформа с доступом к различным AI-моделям через браузер, не требующая установки на ПК. Stable Diffusion — это конкретная модель, которую устанавливают локально для полного контроля и работы без интернета.
Вопрос: Можно ли запустить нейросеть без мощной видеокарты?
Ответ: Да, но производительность будет низкой. Существуют режимы работы только на процессоре (CPU) или можно использовать облачные сервисы и онлайн-аналоги, такие как FusionBrain.
Вопрос: Как обновить уже установленную Stable Diffusion?
Ответ: В папке `stable-diffusion-webui` запустите файл `update.bat` или выполните команду `git pull` через терминал, если установка велась через Git.
Вопрос: Безопасно ли запускать нейросеть на домашнем компьютере?
Ответ: Да, если вы скачали код и модели с официальных источников. Локальная установка не передает ваши данные и запросы на сторонние серверы, что повышает конфиденциальность.
Чек-лист: Установка Stable Diffusion на Windows
- Проверьте соответствие вашего ПК системным требованиям (ОЗУ, видеопамять, место на SSD).
- Установите последнюю стабильную версию Python, отметьте галочку «Add Python to PATH».
- Установите Git для Windows (может потребоваться для клонирования репозитория).
- Скачайте архив веб-интерфейса Stable Diffusion (например, AUTOMATIC1111) с GitHub.
- Распакуйте архив в удобную папку на диске, путь не должен содержать кириллицу или пробелы.
- Запустите установочный файл `webui-user.bat`. Дождитесь автоматической загрузки всех зависимостей.
- Скачайте нужную модель (checkpoint) с платформы Civitai или Hugging Face.
- Поместите файл модели (с расширением.ckpt или.safetensors) в папку `models\Stable-diffusion`.
- Перезапустите `webui-user.bat`, если установка модели происходила после первого запуска.
- Дождитесь завершения запуска. В терминале появится локальная ссылка (обычно http://127.0.0.1:7860).
- Откройте ссылку в браузере. В правом верхнем углу выберите загруженную модель.
- В поле «Prompt» введите текстовое описание желаемого изображения на английском языке.
- Настройте параметры (размер, количество шагов, seed) и нажмите кнопку «Generate».
- Сохраните понравившиеся результаты, экспериментируя с запросами и настройками.



























