Разное

Как установить Stable Diffusion и Waifu Diffusion на ПК?

Самый простой способ установить нейросеть Stable Diffusion на ПК с операционной системой Windows 10 — скачать дистрибутив NMKD с сайта itch.io, запустить установщик и загрузить все компоненты, предлагаемые в графическом интерфейсе программы.

Главные преимущества GUI — экономия времени и удобство ввода.

Вам не нужно будет разбираться с git, Conda и Python, искать отдельный софт для увеличения получаемых картинок и учить консольные команды! Всё необходимое для работы устанавливается с помощью встроенного инсталлятора, запускающегося при первом входе в интерфейс нейросети:

Установка Stable Diffusion с помощью NMKD
Хотя дистрибутив NMKD не работает "из коробки", он максимально упрощает взаимодействие со Stable Diffusion. Именно поэтому я рекомендую использовать его авторам, никогда раньше не увлекавшимся программированием, не знающим, что такое "нейронные сети" и как ими пользоваться.

Особенности NMKD Stable Diffusion GUI:

  • ПО работает исключительно с видеокартами Nvidia. На момента написания статьи видеокарты от AMD не поддерживаются;
  • Во время инсталляции скачивает SD версии 1.4;
  • Чтобы использовать Waifu Diffusion, Trinart и другие модели нейросети, вам понадобится скачать их самостоятельно (обновление и поиск сторонних моделей не входит в интерфейс NMKD);
  • В версии Stable Diffusion для ПК отсутствует цензура и фильтрация. Поэтому за создаваемый контент и степень его приемлемости несёте ответственность только вы, а не создатель софта;
  • Программа находится в разработке, так что иногда могут возникать баги. Рекомендую периодически заходить на страницу автора и скачивать новую версию GUI;
  • Поддерживает преобразование из текста в изображение, генерацию картинок на основе другого изображения или одного из предварительно настроенных «концептов», идущих в комплекте с NMKD;
  • Демонстрирует превью и информацию о сгенерированных изображениях;
  • В настройках дистрибутива можно активировать масштабирование картинок (RealESRGAN), позволяющее увеличить арты в 2-4 раза, а также опцию «восстановление лица» (GFPGAN), помогающую улучшить результат при вводе сложных текстовых запросов;
  • Запуск нескольких текстовых подсказок одновременно;
  • Поддерживает создание бесшовных текстур. Эта опция будет особенно полезна для авторов, создающих концепт-арты и инди-игры;
  • Использует весь потенциал GPU — скорость создания изображений зависит исключительно от вашей видеокарты.
Диснеевская принцесса Мерида в нейросети Waifu Diffusion

Системные требования:

  • Windows 10/11 64-bit;
  • Последний графический процессор Nvidia, предпочтительно RTX;
  • 16 ГБ ОЗУ;
  • 4 ГБ VRAM (для медленного режима с малым количеством памяти) или 6+ ГБ VRAM (для быстрого режима с большим количеством функций);
  • Как минимум 11 ГБ дискового пространства для установки. Желательно использовать SSD для лучшей производительности и выделить не менее 20-40 ГБ на диске, если вы планируете добавлять альтернативные модели нейросети.

Как установить Stable Diffusion?

  • Перейдите на страницу дистрибутива и нажмите «Скачать сейчас» («Download Now»);
  • Перед вами появится страница, на которой предлагают заплатить 4$ или другую сумму. Ничего платить не надо, достаточно нажать вверху на надпись «Нет, спасибо, лучше отправьте меня к загрузкам» («No thanks, just take me to the downloads»);
  • Снова нажмите на кнопку «Скачать» («Download»);
  • Дождитесь, пока сохранится архив SD-GUI.7z;
  • Распакуйте содержимое архива. Желательно разместить папку с файлами прямо в корне диска C;
  • Запустите программу, нажмите «Установить» («Install») при первом запуске SD.

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

Если во время установки что-то пошло не так, вы всегда можете переустановить «неудачные» элементы в меню программы:

Переустановка компонентов нейросети Stable Diffusion (окружения, необходимого для стабильной работы NMKD GUI)

Как установить Waifu Diffusion?

Чтобы установить Waifu Diffusion, скачайте модель нейросети на HuggingFace или нажмите на эту ссылку.

После скачивания модели откройте папку «C:\SD-GUI-1.4.0\Data\models» и скопируйте в неё WD.

UPD: вышла новая версия WD - 1.3. Скачать её и посмотреть важные особенности обновления можно по этой ссылке.

Если вам больше не нужна предыдущая модель нейросети, файл SD можно удалить, либо заменить название на «stable-diffusion-1.4.ckpt.beta». После этого модель не будет отображаться в списке доступных для использования.

Крайне редко может возникнуть баг, из-за которого не получается выбрать модель нейросети в настройках NMKD. В таком случае рекомендую переименовать файл WD в stable-diffusion-1.4.ckpt.

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

До сбоя я тестировал WD сотни раз.

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

Варианты моделей нейронных сетей Stable Diffusion и Waifu Diffusion
Когда вы работаете с двумя моделями, создание "альтернативного расширения" позволяет оставить только одну активную модель, не залезая в настройки GUI. Если их больше, куда проще залезть в графический интерфейс и выбрать в разделе "Settings" ("Stable Diffusion Model File") нужный файл, чем мучиться с постоянным переименовыванием или запоминать, что в какой "бета-версии" находится.
Выбор модели нейросети в NMKD Stable Diffusion GUI

Установка альтернативных моделей (например, Trinart 1, 2, 3 или Hiten) происходит аналогичным образом — сначала вы скачиваете файл, затем добавляете в папку «Models», потом выбираете нужную модель в настройках GUI.

Если что-то не работает «из коробки» — закрываете и снова запускаете SD, либо переписываете название файла (заменяете тире на нижние подчёркивания, убираете кириллицу и пробелы, и так далее).

Неправильные символы - одна из самых частых ошибок, мешающих загрузке моделей нейронных сетей в NMKD Stable Diffusion GUI.

Если вы сталкиваетесь с частыми вылетами — попробуйте полностью удалить папку со всеми файлами нейронной сети и переустановить дистрибутив.

Сбоит Waifu Diffusion?

Уменьшите нагрузку на ПК — закройте браузер и другие ресурсоёмкие приложения, переключитесь на режим низкого потребления видеопамяти («Low Memory Mode») в настройках («Settings»).

Зависает система?

Установите MSI Afterburner или другое ПО, чтобы проверить, насколько разогреваются видеокарта и процессор во время работы нейросети.

Перегрев - одна из основных причин "отваливающейся" видеокарты.

Чтобы избежать перегрева, замените или модифицируйте охлаждение. Например, установите мощные кулеры либо «водянку», уберите пыль внутри и снаружи системника, замените термопасту у процессора.

Возникают зелёные пиксели и полосы на всех сгенерированных артах?

Активируйте в настройках NMKD опцию «Use Full Precesion» («Использовать полную точность»). Помимо этого, функция может помочь с багами видеокарт 16-ой серии Nvidia GTX.

Главный недостаток последней настройки - её использование требует много VRAM, поэтому она может замедлить рендеринг и не подходит для карт с небольшим количеством видеопамяти.

Оптимальные настройки Stable Diffusion

Чем больше цифра параметра «Details» («Steps»), тем больше мелких деталей сгенерирует нейросеть. Учитывайте, что «улучшение детализации» негативно влияет на скорость создания артов!

Не обязательно выбирать максимальное значение, достаточно указать в SD и WD от 50 до 85 «шагов».

Параметр «Creativeness» («Guidance Scale») напрямую влияет на «креативность» изображения. Чем меньше цифра, тем больше нейросеть импровизирует, чем больше, тем точнее пытается реализовать ваш запрос.

Оптимальная "креативность" по "шкале рекомендаций" - от 8,5 до 12. Если вы уверены в своём запросе, можно ставить значения побольше. Если хотите, чтобы нейронная сеть интерпретировала текстовое описание шире и не ограничивалась запросом, используйте меньшие значения.

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

Чаще всего я оставляю поле пустым, либо ставлю 2. В предыдущих версиях программы вместо «пустоты» лучше было вписывать -1.

Оптимальные настройки нейросетей Waifu Diffusion и Stable Diffusion
Resolution - разрешение изображения. Здесь вы можете поменять размер картинки и соотношение сторон. Не забывайте, что нейросети выдают лучшие результаты с настройками по умолчанию - с разрешением 512х512 пикселей.

В выпадающем меню параметра Sampler можно выбрать алгоритм сэмплирования изображения. Если упрощать, в зависимости от выбранного сэмплера изменятся финальные «нейронные арты» — станут ближе к портретам или полноростовым концептам, заполнят фон деталями или уйдут в минимализм.

Лично я предпочитаю использовать k_euler, k_euler_a, ddim и k_dpm_2.

Дополнительные настройки NMKD Stable Diffusion GUI

Помимо базовых настроек, NMKD Stable Diffusion GUI поддерживает две расширенные опции — возможность перенимать стили изображения или концепта.

В первом случае изображение генерируется с учётом добавленного арта (снимка, картинки), где степень влияния (схожести) оригинала на текстовый запрос варьируется от 0,050 до 0,950 (от наименьшего к большему).

Во втором случае итоговый результат зависит от заранее обученного образца, «концепта». Образцы делятся на «объекты» и «стили». «Объекты» позволяют точнее генерировать определённые образы, включая существующих персонажей и людей, «стили» имитируют художников, либо фиксированные направления (чёрно-белые картины, картины маслом, иллюстрации).

Главное преимущество дополнительных настроек — возможность максимально приблизить текстовый запрос к вашей идее.

Библиотека текстовых инверсий - простой способ изучить топовые стили (концепты) для нейросети Waifu Diffusion
Лучше всего использовать опции по отдельности, чтобы не вносить дополнительные искажения, но их можно использовать и одновременно.

Здесь вы можете посмотреть примеры самых распространённых концептов. В предустановленной версии SD используется лишь часть из них.

Учитывайте, что представленная база не предназначена для скачивания готовых стилей, это лишь каталог с входными данными библиотеки текстовых инверсий HuggingFace.

Как увеличить размер артов в Stable Diffusion?

Размер артов в Stable Diffusion можно изменить 3-я способами:

  • Увеличить разрешение исходного изображения. Этот способ замедлит создание артов и повысит нагрузку на вашу видеокарту;
  • Использовать постобработку («волшебную палочку» в верхней части меню GUI). Среди опций постобработки есть увеличение разрешения («Upscaling») в 2-4 раза и «Восстановление лица» (об этом я расскажу чуть позже). Хотя апскейл тоже разогреет вашу видеокарту, скорость создания артов почти не просядет;
Апскейл артов в меню GUI Stable Diffusion выделен красным
  • Поднять разрешение с помощью стороннего софта. Например, Topaz Gigapixel. В таком случае вы можете увеличить размер артов вплоть до 6 раз, но это потребует дополнительных финансовых вложений (увы, ПО не бесплатное).
Увеличение разрешения изображения в нейросети Stable Diffusion с помощью Topaz Gigapixel AI

Как восстановить лица и улучшить арты?

Если по текстовому описанию получаются красивые изображения, но лица часто смещаются куда-то «не туда», вы можете использовать функцию «Восстановление лица» («Face Restoration») в настройках постобработки SD.

Восстановление лица и увеличение разрешения изображения в настройках NMKD Stable Diffusion GUI

Начиная с версии NMKD 1.5, для восстановления лиц используются две модели — GFPGAN и CodeFormer.

С портретами в стиле аниме лучше справляется GFPGAN, с реалистичными цифровыми и 3D артами — CodeFormer.

В процессе «исправления лиц» CodeFormer добавляет больше реалистичных деталей и стремится восстановить пропорции, что приводит к искажению анимешных изображений.

Это не значит, что модель не стоит использовать! С её помощью вы сможете улучшить не только черты лица, но и мелкие украшения, причёску, светотеневой рисунок, макияж. Главное — запомните её особенности и будьте готовы прогонять арты несколько раз через алгоритм восстановления, чтобы получить оптимальный результат.

GFPGAN предлагает одну опцию для восстановления лиц, регулирующуюся от 0 до 1. На 0 восстановление не используется, на 1 — включено на максимум.

Восстановление аниме лиц с помощью GFPGAN (Waifu Diffusion 1.3)
CodeFormer предлагает 2 опции - первая аналогична GFPGAN, вторая - "Fidelity" ("Достоверность") - влияет на качество и точность воссоздания изображения. Чем ближе второй параметр к 0, тем выше качество, но меньше точность, чем ближе к 1, тем ниже качество, но аккуратней результат.
Портрет Гань Йю, восстановленный с помощью CodeFormer (нейросеть Waifu Diffusion 1.3)

Рекомендую использовать значения от 0 до 0,6. Передвигая ползунок ближе к 1, вы можете значительно ухудшить качество картинки.

Примеры артов в Stable Diffusion и Waifu Diffusion

Мужской портрет в нейросети Waifu Diffusion
Портрет красноволосой девушки в нейросети Waifu Diffusion
Хоро из аниме (манги) "Волчица и пряности", сгенерированная в нейросети Waifu Diffusion
Принцесса Мерида в нейросети Waifu Diffusion
Волчица Хоро - концепт-арт в нейросети Waifu Diffusion
Понравилась статья?

Делитесь публикацией с друзьями, пишите комментарии, подписывайтесь на Telegram, Boosty и другие страницы, чтобы первыми видеть всё самое интересное!

Фотограф, гик, ретушёр

14 комментариев

  • Павел

    Здравствуйте, так-с значит с деформацией тел я разобрался, есть вопрос.. например я получил желаемую картинку.. хочу на основании ей сделать другие вариации… как такое сделать?

    • Tengyart

      Здравствуйте, Павел!

      Есть два способа сделать вариации на основе созданной картинки:

      1) Скопировать цифровое значение из поля Seed (находится в метаданных или названии картинки, выглядит примерно так — 1708835393), изменить текстовую подсказку и запустить генерацию. Чем сильнее вы измените запрос, тем больше разницы будет между исходником и новыми картинками;
      2) Использовать арт в качестве референса — загрузить созданное изображение с помощью кнопки «Load Image», настроить запрос и запустить новую генерацию. Этот вариант даёт больше вариативности за счёт дополнительных настроек, рекомендую использовать его.

      Далее подробнее расскажу про второй способ.

      После добавления картинки появится параметр Initialization Image strength (influence) — степень влияния изначального изображения. Чем ближе к 1, тем сильнее новые картинки будут похожи на оригинал, чем ближе к 0, тем больше новых деталей добавится, а сходства станет меньше. На мой взгляд, оптимально ставить значения Influence от 0,25 до 0,7. Ниже будет слишком много рандома, выше — недостаточно вариативности.

      Помимо IIS, после добавления картинки появится опция Masking Inpainting («Маскировка и закрашивание»). Если активировать её (выбрать «Draw mask» в выпадающем меню), перед генерацией новых картинок появится возможность выделить области, которые вы хотите изменить.

      Masking Impainting стоит использовать, если вам нравится исходник, но хочется заменить какие-то определённые детали - например, руки или лицо, либо какой-то элемент одежды. А ещё это удобно - можно сильно модифицировать запрос, не угробив при этом всю картинку)

      Стоит отметить, что при создании новых артов на основе картинок есть 2 минуса.

      Во-первых, появляется больше искажений.

      Если вы генерируете персонажей, стоит использовать «Восстановление лиц» в дополнительных настройках NMKD или Automatic1111, иначе на картинку будет сложно смотреть без боли. Или же потом понадобится переносить лица с удачных изображений в графическом редакторе, что уже не так уж и удобно.

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

      Это тоже не проблема, но их уже наверняка придётся совмещать, чтобы избавиться от замыленности.

      Надеюсь, мой ответ вам хоть немного пригодится!

  • Павел

    Картинка получается обрезанная, точнее тело есть а лицо где то вверху.. как центрировать что бы был портрет например или человек во весь рост?

    • Tengyart

      Чтобы в нейросети не обрезались головы, попробуйте использовать «негативные подсказки» (negative prompt). Например, вот такими:

      lowres, ugly, bad anatomy, deformed body, missing fingers, extra fingers, blurry, deformed face, cropped, cropped face, text, conjoined twins, siamese twins, weapon, sword, gun, chibi, weird eyes, worst quality, low quality, jpeg artifacts, username, artist name, blind, unibrow

      Негативные подсказки помогают исключать то, что вы бы не хотели видеть в сгенерированной картинке. Уменьшить вероятность обрезки лиц и тел поможет cropped, cropped face, понизить шанс удвоения тел и рук — bad anatomy, deformed body, missing fingers, extra fingers, deformed face, conjoined twins, siamese twins.

      Учитывайте, что чем больше ограничений вы пропишите, тем хуже будет качество картинки. Во-первых, уменьшится вариативность, во-вторых, нейросети могут начать смешивать обычные и негативные подсказки, выдавая чудовищный результат. Поэтому лучше одновременно использовать лишь часть слов, а не всё сразу. Разумеется, вы и сами можете прописать ограничения, я лишь привёл некоторые рабочие варианты.

      Помимо «Негативных подсказок», можно дополнять запрос словами, акцентирующими внимание на лице:

      Face, beautiful face, portrait, close-up, headshot, looking into camera, makeup, look at viewer

      Если в установленной версии NMKD нет негативных подсказок, пожалуйста, перейдите на страницу проекта и скачайте свежую версию. Удобный способ добавления «отрицательных слов» работает с версии 1.7.0, либо в большей части версий AUTOMATIC1111.

      Надеюсь, эти советы вам помогут!

    • Tengyart

      Только что всё заново скачал, архив открывается без проблем, при установке софта не требуется ни пароль, ни что-либо ещё.

      Возможно, у вас нелицензионный WinRar?

      В таком случае рекомендую использовать другое ПО для распаковки архива. Тем более, .7z считывается практически чем угодно.

    • Tengyart

      Я вам уже достаточно подробно в WhatsApp написал, но отвечу и для других подписчиков сайта — Stable Diffusion, Waifu Diffusion, слитый Novel AI и Anything v3.0 не включают никаких цензурных фильтров. Поэтому для генерации артов в белье или ню не требуется ничего особенного, кроме тщательного подбора текстовых подсказок и негативных слов (всего, чего вы хотите избежать на создаваемых картинках).

      Учитывайте, что «отсутствие цензуры» будет исключительно в нейросети, работающей на вашем ПК, но не на сайте в браузере!

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

  • Dmitry

    Спасибо, всё запустилось, работает. Но чаще получаются какие-то кривые и депрессивно-ужасные картинки. Как вы делаете такие как в посте? Записали бы хоть видио по программе, рассказали, было бы интересно посмотреть.
    Спасибо за материал!

    • Tengyart

      Вам большое спасибо за комментарий!

      Чтобы получить результат получше, стоит уточнить запрос: добавить больше деталей в текстовое описание, «позаимствовать» стили художников, указать свойства и условия (например, «высокая детализация, кинематографическое освещение, 2D арт, тренды Artstation»), попробовать изменить количество деталей и «креативности» нейросети.

      Помимо этого, можно подсмотреть варианты текста на входе у других пользователей. Самый простой способ это сделать — воспользоваться сайтом Lexica, ключевыми словами для Midjourney, либо изучить раздел Stable Diffusion на Reddit.

      Чтобы получить больше красивых лиц, вместо SD лучше использовать Waifu Diffusion 1.2 — 1.3, либо одну из бета-версий WD 1.3. Поскольку время обучения и количество изображений для тренировки отличаются, результаты тоже будут варьироваться.

      В новой версии NMKD появилась дополнительная опция восстановления лиц, использующая CodeFormer. С её помощью вы будете реже получать «кривые» портреты, но, на мой взгляд, результаты генерации станут несколько однообразными.

      Я не очень силён в видео, но надеюсь, что вам пригодятся ссылки и мой ответ)

  • MORKAUD

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

  • Никита

    Спасибо, долго разбирался с SD и думал неужели нельзя обойтись без всех этих пайтонов, гитов и т.д.? Просто раньше я никогда не занимался подобным. И вот классная статья с самым легким способом. Еще и сразу про waifu diffusion написано!

    • Tengyart

      Большое спасибо за приятный комментарий!

      Раз вам статья пригодилась, значит, не зря написал инструкцию)

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *