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 и входим в свой аккаунт. Если у вас нет аккаунта - регистрация бесплатная и занимает пару кликов.
Так как предобученная модель - это самый "тяжелый" файл который будет использоваться нами - имеет смысл сразу поставить его в очередь загрузки, перед тем как мы перейдём к следующим шагам.
После регистрации / логина, в поле 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 и создаём / входим в аккаунт там. Бесплатно, несколько кликов.
После входа в свой аккаунт нам нужно найти движок 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 от дорогого БРАТА
Нахуй Windows, давай на MacOS.
Тут серьёзные люди.
Макоёбы должны страдать.
У меня к сожалению достаточно старый MacBook еще на intel (2019 года), и насколько я знаю заведется SD только на M1 и старше. Но я обязательно проверю для наших любимых яблодрочеров ❤️
под мак, без всего того дрочева что написано в этой статье, есть опенсурсная https://diffusionbee.com/ которая ставится в пару кликов
🤷♀️
https://diffusionbee.com для мака без ебли, поставил — работает и на Intel, как любят маководы. А не ковыряние с кодом.
У меня вопрос.
Зачем?
Отсутствие ограничений. NSFW. Собственные модели.
У меня лично несколько целей. Одна из - интегрировать в Unity / UE для создания текстур и mattepaint плейнов для 2.5D графики. Вторая - интегрировать в систему автоматической генерации контента, объединив с локальной текстовой моделью для автоматического SMM, создания видеороликов и т.д.
И вообще хочется лучше изучить «то что под капотом». Планирую получить магистерскую степень в Computer science по ML пока не поздно.
А, ну я пользуюсь инструментами для создания компьютерной графики профессионально, мне хочется овладеть инструментом максимально глубоко, так же как я владею иными инструментами.
Зачем это пользователям? Возможно не нужно 🤷♂️
чувствую себя отставшей от жизни, неделю мучаюсь. пытаюсь установить 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"
Тоже была такая проблема при первом запуске, добавил строчки - помогло.
Но, после обновления драйверов на видеокарту запускается без дополнительных аргументов
У меня та же проблема возникла, что и у Вас. Нашли какое-нибудь решение?
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 серии, на процессоре это дрочево. Макоёбы должны страдать, поддерживаю автора
Правильно ли я понимаю, что на старых видяхах не заведется?
"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."
1080 ti еще работает. На более слабых я бы не рекомендовал тестировать, так как штука прожорливая до видеопамяти. Минимум 4gb (полный минимум).
Я поставил. Спасибо за мотивацию. Раньше не хотел заморачиваться, ожидая горы ошибок в кoнсоли, раздражение от процесса установки и унылый результат в сравнении с mj. Но всё прошло почти гладко. Теперь буду экспериментировать.
Нейросеть — огонь. Если скачать сторонние модели, то многие изображения генерирует не хуже mj, быстро и бесплатно.
Удачи, рад что оказалось полезным ❤️
Комментарий удален модератором
Это другое
а я заберу, спс
bash: clone: command not found - такое сообщение после вставки кода из гитхаб в баш. Что я делаю не так?
Git clone 🥲 и дальше путь, я залил неверный скриншот, сейчас заменю. Спасибо 🙏🏿
напиши clone git вместо git clone
Спасибо огромное!!!)
Вау, на vc наконец-то пошёл SD
Примеры бы еще, насколько качественный контент генерится.
https://stable-diffusion-art.com/
webui-user.bat в нём всё установилось, но не выдало url
webui-user.bat в нём всё установилось, но не выдало url. делал всё по инструкции)
http://127.0.0.1:7860
Попробуйте. Вот такие сообщения должны быть.
На стадии открытия батника выдает вот это. что делать?
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:Системе не удается найти указанный путь.
У тебя не должно быть кириллицы в пути
А как полностью удалить stable diffusion с пк, прост у меня на c диске капец места осталось мало
нашлось решение/гайд?
Тоже выдает ошибку:
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Гб памяти
Помогите пожалуйста, я не знаю, тот ли файл я нажал на загрузку после раздела в статье (2.2 Непосредственно установка и запуск), но у меня выдало кучу ошибок, а перед ошибками у меня весь комп встал, мышка, клавиатура, не на что не откликался...
Это файл который открывал...
А это то что случилось после...
Ребят, при первом запуске webui-user.bat, возникла ошибка "Torch is not able to use GPU; add --skip-torch-cuda-test to COMMANDLINE_ARGS variable to disable this check", кто знает как это исправить? Буду очень благодарен
Сама нейронка после установки выдает Connection errored out, не подскажите что случилось
Блин, и что с этим делать?
выдает ошибку. Как это исправить?
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 можно инструкцию?
у меня вот такая хрень при нажатии but, что делать?