{"id":14276,"url":"\/distributions\/14276\/click?bit=1&hash=721b78297d313f451e61a17537482715c74771bae8c8ce438ed30c5ac3bb4196","title":"\u0418\u043d\u0432\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u043b\u044e\u0431\u043e\u0439 \u0442\u043e\u0432\u0430\u0440 \u0438\u043b\u0438 \u0443\u0441\u043b\u0443\u0433\u0443 \u0431\u0435\u0437 \u0431\u0438\u0440\u0436\u0438","buttonText":"","imageUuid":""}

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

Stable Diffusion - генеративная deep learning модель для создания изображений путём ввода текстовых описаний желаемого результата (prompts) созданная стартапом Stability AI. Я покажу вам пошаговый путь установки SD на ваш компьютер / ноутбук и расскажу о плюсах и минусах данной модели. Инструкция подходит для Windows (вот так, да, несправедливо, но для MacOS тоже есть решение). Поехали(?)!

1. Интро

Это одна из моделей существующих на рынке. По сравнению с другими моделями у SD есть свои преимущества и недостатки. Обозначу в двух словах плюсы и минусы.

Плюсы

  • Бесплатность: локальная версия SD позволяет вам бесплатно генерировать изображения в любом количестве. Лицензия Creative ML OpenRAIL-M license: The user owns the rights to their generated output images, and is free to use them commercially.
  • Конфигурируемость: SD создан в парадигме open source, поэтому и предобученные модели и сам движок генерации изображений могут быть модифицированы пользователем в любом объеме. Т.е. количество плагинов, модификаций движка, моделей будет расти вместе с ростом популярности SD. Если вы достаточно nerd - вы можете сами внести любое изменение в код и получить функционал который вам нужен.
  • Гибкость: в одном только web-ui (интерфейс для генерации, конфигурации, ввода промтов) параметров сотни!, соответственно вы можете сконфигурировать систему для генерации изображений в вашем стиле и для ваших потребностей, а так же для оптимизации работы на слабом железе.
  • Отрицательные промпты: позволяют неограниченно уточнять ваш запрос на генерацию изображения путем указания системе нежелательных элементов/методов создания изображения.
  • Низкие системные требования: достаточно более менее современного ПК/ноутбука с discreet GPU (4GB Vram минимум).
  • Скорость: при "стандартных" настройках генерации, даже на самом слабом железе, вы будете получать одно изображение за 15-30 секунд.
  • Отсутствие ограничений на контент который вы генерируете: NSFW, controversal content, racial - всё что угодно. Никаких ограничений.
  • Работа с пользовательскими предобученными моделями: вы можете предобучить вашу собственную модель из ваших исходных изображений и создавать собственные потреты (или потреты вашего кота) в любых стилистиках и визуальных композициях.
  • Использование в серверной конфигурации локальной сети офиса: вы можете поднять сервер на GPU ферме и сделать webui доступным для всех сотрудников используя две строчки в скрипте запуска.
  • Возможность зарабатывать прямо сейчас: Вы можете поднять сервер SD на хосте вашего веб сайта, сделать редизайн интерфейса и продавать доступ к генерации на основе вашего набора предобученных моделей и расширения промтов с помощью ChatGPT аналогов (как это делают сейчас уже очень многие небольшие и жадные компании).

Минусы

  • Гибкость: из-за огромного количества параметров доступных для изменения конечному пользователю - получение качественных изображений "сходу" - нетривиальная задача. Вам нужно будет научиться создавать качественные изображения с помощью SD.
  • Скорость: в случае создания батча из 10+ изображений, каждое из которых с апскейлом до 8K, с 50 итерациями уточнения - время генерации может составить до нескольких часов (зависит от вашего железа). Но при правильном подходе к генерации - вы сможете избежать подобных сложностей (например итеративное повышение сложности, использование последнего seed для finetune изображения и т.д.)

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

2. Установка

2.1 Репозитории, необходимй софт, нужные аккаунты

Сначала создадим нужные аккаунты на очень полезных для разработчика (особенно ML) сайтах: Github, Hugging face.

Идём на hugging face и входим в свой аккаунт. Если у вас нет аккаунта - регистрация бесплатная и занимает пару кликов.

Log In если у вас есть аккаунт, Sign Up если у вас нет аккаунта.

Так как предобученная модель - это самый "тяжелый" файл который будет использоваться нами - имеет смысл сразу поставить его в очередь загрузки, перед тем как мы перейдём к следующим шагам.

После регистрации / логина, в поле search мы вводим stable diffusion

и выберем в целях данного туториала модель CompVis/stable-diffusion-v1-4-original

на этой странице мы хотим выбрать файлы моделей для загрузки в разделе Download the weights, а точнее - sd-v1-4.ckpt

NOTE Другие модели которые появляются в списке результатов поиска мы можем (и нам следует) использовать тоже, 1.5, 2.1 и т.д. Но это выходит за рамки данного туториала, думаю вы сами разберетсь если захотите поэкспериментировать. Для некоторых моделей нужно менять параметры запуска SD чтобы избежать ошибок, но решения гуглятся за пару минут. В крайнем случае приходите в комментарии - я скорее всего смогу ответить.

Пока этот файл (4GB) загружается, мы займемся клонированием депозиториев и подготовкой файловой структуры для запуска самого движка SD.

GitHub

Идём на github и создаём / входим в аккаунт там. Бесплатно, несколько кликов.

Sign In для входа в аккаунт (надеюсь вы это знаете без меня). Sign Up для регистрации.

После входа в свой аккаунт нам нужно найти движок SD вместе с webui (интерфейсом для управления). Для этого в поле поиска вводим AUTOMATIC1111 и переходим в репозиторий AUTOMATIC1111/stable-diffusion-webui

Оставим вкладку открытой, теперь нам нужно установить специальный набор утилит для windows для работы с репозиториями - git for Windows. Почему это удобнее чем просто загрузить архив и распаковать? Как минимум потому что работая с репозиторием - вы можете обновлять версию движка одной консольной командой (мы добавим запрос на автоматическое обновление движка в скрипт запуска), вместо ручной загрузки и распаковки архивов с риском все поломать.

Идём на сайт git for windows и нажимаем кнопку Donwload. После загрузки - установите утилиту с default параметрами (для наших задач этого достаточно). В конце установки можно поставить галочку (Launch Git Bash) или запустить bash вручную.

Следующий шаг - создание файловой структуры для клонирования репозитория в нашу локальную систему. Создайте папку в которой вы хотите хранить все что будет связано со stable diffusion. Для целей нашего туториала давайте создадим папку в корне диска C и назовём её AI.

Возвращаемся к окну интерфейса bash который мы запустили чуть раньше. Вводим команду cd c:/AI

данная команда делает активной папку путь к которой мы ввели для дальнейших манипуляций

после того как мы перешли в нужную нам папку (которую мы создали для SD) откройте вкладку github в браузере. На странице нужно найти большую зеленую кнопку с названием Code (1), нажать на неё и в раскрывшемся меню скопировать путь к репозиторию для клонирования (2).

В окне bash вводим команду git clone и вставляем (ПКМ) путь к git репозиторию (3) который мы скопировали на странице github. После нажатия Enter все произойдет автоматически. В результате в папке c:\AI которую мы создали ранее появится папка stable-diffusion-webui - внутри неё содержится структура движка SD с которой мы будем работать.

Теперь перенесём модель которую мы поставили в очередь загрузки в самом начале (тот 4GB файл с hugging face) внутрь файловой структуры клонированной нами из репозитория. Все используемые модели находятся в папке stable-diffusion-webui/models/Stable-diffusion (в нашем случае c:/ai/stable-diffusion-webui/models/Stable-diffusion)

Мы практически готовы к установке и запуску веб-сервера. Последнее что нам необходимо - библиотеки Python. Для загрузки и установки Python нужно открыть веб-сайт Python.org, перейти в раздел Downloads/Windows

и выбрать Stable Release (в данный момент 3.10.11) для загрузки

на данный момент 3.11.3 не поддерживается скриптом установки и гарантированно приведёт к ошибкам. Если у вас уже установлен Python 3.11.3 - рекомендую удалить его полностью и установить заново версию 3.10.11

Внизу открывшейся страницы загрузки версии 3.10.11 находим Files и загружаем установщик для Windows x64

Запускаем установщик, устанавливаем со стандартными параметрами, в начале установки обязательно включить галочку "Add Python 3.10 to PATH" - эта опция создаст путь для библиотек Python в системные пути Windows.

2.2 Непосредственно установка и запуск

Открываем папку с движком stable diffusion (в нашем случае c:/ai/stable-diffusion-webui/ ) находим файл batch скрипта с названием webui-user.bat, запускаем его и ждем еще около 5-10 минут, пока необходимые библиотеки загрузятся, обновятся и установятся.

В случае отсутствия ошибок - в конце исполнения скрипта вы увидите надпись "Running on local URL: http://127.0.0.1:7860" это путь по которому теперь для нас доступен webui движка stable diffusion.

Первый запуск SD (или запуск после добавления новой модели) может занимать несколько минут - это нормально. После перезапуска системы сервер запускается этим-же файлом webui-user.bat, поэтому рекомендую сделать пару ярлыков на рабочем столе - для bat файла и для URL web ui.

3. Готово

UPD: туточки инструкция для Apple от дорогого БРАТА

0
73 комментария
Написать комментарий...
Невероятный Блондин

Нахуй Windows, давай на MacOS.
Тут серьёзные люди.

Ответить
Развернуть ветку
Buddha
Автор

Макоёбы должны страдать.

У меня к сожалению достаточно старый MacBook еще на intel (2019 года), и насколько я знаю заведется SD только на M1 и старше. Но я обязательно проверю для наших любимых яблодрочеров ❤️

Ответить
Развернуть ветку
3 комментария
hllwlrd

под мак, без всего того дрочева что написано в этой статье, есть опенсурсная https://diffusionbee.com/ которая ставится в пару кликов

Ответить
Развернуть ветку
5 комментариев
Evil Pechenka

🤷‍♀️

Ответить
Развернуть ветку
5 комментариев
Serge Demichev

https://diffusionbee.com для мака без ебли, поставил — работает и на Intel, как любят маководы. А не ковыряние с кодом.

Ответить
Развернуть ветку
1 комментарий
Роман Рабочий

У меня вопрос.
Зачем?

Ответить
Развернуть ветку
Buddha
Автор

Отсутствие ограничений. NSFW. Собственные модели.

У меня лично несколько целей. Одна из - интегрировать в Unity / UE для создания текстур и mattepaint плейнов для 2.5D графики. Вторая - интегрировать в систему автоматической генерации контента, объединив с локальной текстовой моделью для автоматического SMM, создания видеороликов и т.д.

И вообще хочется лучше изучить «то что под капотом». Планирую получить магистерскую степень в Computer science по ML пока не поздно.

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

Зачем это пользователям? Возможно не нужно 🤷‍♂️

Ответить
Развернуть ветку
5 комментариев
Owloia

чувствую себя отставшей от жизни, неделю мучаюсь. пытаюсь установить 2.1. выдает RuntimeError: Torch is not able to use GPU; add --skip-torch-cuda-test to COMMANDLINE_ARGS variable to disable this check
Для продолжения нажмите любую клавишу . . .

при нажатии любой клавишы закрывается моментально.
тут прочла что надо вставить set COMMANDLINE_ARGS= --lowvram --precision full --no-half --skip-torch-cuda-test, но как если при нажатии любой клавиши все закрываается
https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/1742

а если у меня AMD это значит что вообще не прокатит? на нем обучить SD нельзя?
https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Install-and-Run-on-AMD-GPUs

вот это разминка для мозгов на старости лет. спасибо автор))

Ответить
Развернуть ветку
Николай Ковригин

Текстовым редактором надо открыть файл "webui-user.bat" и на 6ой строчке, вместо:
"set COMMANDLINE_ARGS="
вставить:
"set COMMANDLINE_ARGS= --no-half --skip-torch-cuda-test"

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

Ответить
Развернуть ветку
User2023

У меня та же проблема возникла, что и у Вас. Нашли какое-нибудь решение?
venv "C:\AI\stable-diffusion-webui\venv\Scripts\Python.exe"Python 3.10.11 (tags/v3.10.11:7d4cc5a, Apr 5 2023, 00:38:17) [MSC v.1929 64 bit (AMD64)]Version: v1.6.0-2-g4afaaf8aCommit hash: 4afaaf8a020c1df457bcf7250cb1c7f609699fa7Traceback (most recent call last): File "C:\AI\stable-diffusion-webui\launch.py", line 48, in main() File "C:\AI\stable-diffusion-webui\launch.py", line 39, in main prepare_environment() File "C:\AI\stable-diffusion-webui\modules\launch_utils.py", line 356, in prepare_environment raise RuntimeError(RuntimeError: Torch is not able to use GPU; add --skip-torch-cuda-test to COMMANDLINE_ARGS variable to disable this checkДля продолжения нажмите любую клавишу . . .

Ответить
Развернуть ветку
Дмитрий //

Генерить надо на GPU, желательно на 4xxx серии, на процессоре это дрочево. Макоёбы должны страдать, поддерживаю автора

Ответить
Развернуть ветку
Buddha
Автор
Ответить
Развернуть ветку
Забанен. Спасибо ВадимуДи

Правильно ли я понимаю, что на старых видяхах не заведется?
"Found GPU0 NVIDIA GeForce GTX 780 Ti which is of cuda capability 3.5.
PyTorch no longer supports this GPU because it is too old.
The minimum cuda capability supported by this library is 3.7."

Ответить
Развернуть ветку
Buddha
Автор

1080 ti еще работает. На более слабых я бы не рекомендовал тестировать, так как штука прожорливая до видеопамяти. Минимум 4gb (полный минимум).

Ответить
Развернуть ветку
9 комментариев
GMO bacteria

Я поставил. Спасибо за мотивацию. Раньше не хотел заморачиваться, ожидая горы ошибок в кoнсоли, раздражение от процесса установки и унылый результат в сравнении с mj. Но всё прошло почти гладко. Теперь буду экспериментировать.

Ответить
Развернуть ветку
GMO bacteria

Нейросеть — огонь. Если скачать сторонние модели, то многие изображения генерирует не хуже mj, быстро и бесплатно.

Ответить
Развернуть ветку
2 комментария
Buddha
Автор

Удачи, рад что оказалось полезным ❤️

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Юрий Б.

Это другое

Ответить
Развернуть ветку
Ivan Safronov

а я заберу, спс

Ответить
Развернуть ветку
Rash Rosh

bash: clone: command not found - такое сообщение после вставки кода из гитхаб в баш. Что я делаю не так?

Ответить
Развернуть ветку
Buddha
Автор

Git clone 🥲 и дальше путь, я залил неверный скриншот, сейчас заменю. Спасибо 🙏🏿

Ответить
Развернуть ветку
Joe Aspas

напиши clone git вместо git clone

Ответить
Развернуть ветку
long taksaa

Спасибо огромное!!!)

Ответить
Развернуть ветку
Nonna T.

Вау, на vc наконец-то пошёл SD

Ответить
Развернуть ветку
Вася Пражкин

Примеры бы еще, насколько качественный контент генерится.

Ответить
Развернуть ветку
Buddha
Автор
Ответить
Развернуть ветку
2 комментария
italiamakaron

webui-user.bat в нём всё установилось, но не выдало url

Ответить
Развернуть ветку
italiamakaron

webui-user.bat в нём всё установилось, но не выдало url. делал всё по инструкции)

Ответить
Развернуть ветку
Buddha
Автор

http://127.0.0.1:7860

Попробуйте. Вот такие сообщения должны быть.

Ответить
Развернуть ветку
Kira Karwai

На стадии открытия батника выдает вот это. что делать?

Creating venv in directory C:\AI\stable-diffusion-webui\venv using python "C:\Users\╧юы№чютрЄхы№\AppData\Local\Programs\Python\Python310\python.exe"
Unable to create venv in directory "C:\AI\stable-diffusion-webui\venv"exit code: 3
stderr:Системе не удается найти указанный путь.

Ответить
Развернуть ветку
Alexandr Skvortsov

У тебя не должно быть кириллицы в пути

Ответить
Развернуть ветку
Геннадий

А как полностью удалить stable diffusion с пк, прост у меня на c диске капец места осталось мало

Ответить
Развернуть ветку
Никита Викторович

нашлось решение/гайд?

Ответить
Развернуть ветку
Victor Denisov

Тоже выдает ошибку:
torch is not able to use gpu
В файле launch.py прописал строчку commandline_args = os.environ.get('COMMANDLINE_ARGS', "--skip-torch-cuda-test")
После этого выдает ошибку:
'os' is not defined
Я прочел где-то на форуме, что ошибка означает, что строчка прописана не в том месте скрипта и надо вставлять в начале, но я пробовал уже и в начале и везде, и все равно ошибка эта остается((

Кстати у девушки та же проблема на AMD, но я находил видосы с тестами на RX 570, как у меня, 8Гб памяти

Ответить
Развернуть ветку
aleks merser

Помогите пожалуйста, я не знаю, тот ли файл я нажал на загрузку после раздела в статье (2.2 Непосредственно установка и запуск), но у меня выдало кучу ошибок, а перед ошибками у меня весь комп встал, мышка, клавиатура, не на что не откликался...
Это файл который открывал...

Ответить
Развернуть ветку
aleks merser

А это то что случилось после...

Ответить
Развернуть ветку
Канат Ахметов

Ребят, при первом запуске webui-user.bat, возникла ошибка "Torch is not able to use GPU; add --skip-torch-cuda-test to COMMANDLINE_ARGS variable to disable this check", кто знает как это исправить? Буду очень благодарен

Ответить
Развернуть ветку
Grustea

Сама нейронка после установки выдает Connection errored out, не подскажите что случилось

Ответить
Развернуть ветку
nebo

Блин, и что с этим делать?

Ответить
Развернуть ветку
Павел Климов

выдает ошибку. Как это исправить?

ERROR: Could not find a version that satisfies the requirement torch==2.0.1 (from versions: none)
ERROR: No matching distribution found for torch==2.0.1

Пожалуйста, можно сразу поподробнее (что скачать, где нажать и тд)

Ответить
Развернуть ветку
Артём Воронцов

А на privateGPT можно инструкцию?

Ответить
Развернуть ветку
Mary Virgin

у меня вот такая хрень при нажатии but, что делать?

Ответить
Развернуть ветку
70 комментариев
Раскрывать всегда