Как запустить Stable Diffusion на своём ПК для создания изображений AI

Оглавление

1. Что такое Stable Diffusion?

2. Что нужно для запуска Stable Diffusion на своём ПК?

3. Как установить и запустить Stable Diffusion в Windows

3.1 Установка Git

3.2 Установка Miniconda3

3.3 Загрузите репозиторий Stable Diffusion GitHub и последнюю контрольную точку

4. Как использовать Stable Diffusion

4.1 Как сделать изображение со Stable Diffusion

4.2 Что означают аргументы в команде?

5. Онлайн демо версия Stable Diffusion


Смотрите также:

Художественные произведения искусственного интеллекта (ИИ) в настоящее время в моде, но большинство генераторов изображений ИИ работают в облаке. Stable Diffusion отличается — вы можете запустить его на своём собственном ПК и создать столько изображений, сколько захотите. Эта инструкция расскажет как вы можете установить и использовать Stable Diffusion в Windows.

1. Что такое Stable Diffusion?

Stable Diffusion — это модель машинного обучения с открытым исходным кодом, которая может генерировать изображения из текста, изменять изображения на основе текста или заполнять детали изображений с низким разрешением или низкой детализацией. Он был обучен на миллиардах изображений и может давать результаты, сравнимые с теми, которые вы получите от DALL-E 2 и MidJourney. Он разработан Stability AI и впервые публично выпущен 22 августа 2022 года.

Смотрите также:

У Stable Diffusion нет аккуратного пользовательского интерфейса (пока), как у некоторых генераторов изображений AI, но у него очень либеральная лицензия, и, что лучше всего, его можно совершенно бесплатно использовать на вашем собственном ПК (или Mac).

Не пугайтесь того факта, что Stable Diffusion в настоящее время работает в интерфейсе командной строки (CLI). Установить его и запустить довольно просто. Если вы можете дважды щёлкнуть исполняемый файл и ввести текст в поле, вы можете запустить Stable Diffusion на своём компьютере за несколько минут.

2. Что нужно для запуска Stable Diffusion на своём ПК?

Stable Diffusion не будет работать на вашем телефоне или большинстве ноутбуков, но в 2022 году он будет работать на среднем игровом ПК. Вот требования:

3. Как установить и запустить Stable Diffusion в Windows

Вам понадобятся две программы: Git и Miniconda3.

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

3.1 Установка Git

Git — это инструмент, который позволяет разработчикам управлять различными версиями разрабатываемого ими программного обеспечения. Они могут одновременно поддерживать несколько версий программного обеспечения, над которым они работают, в центральном репозитории и позволять другим разработчикам вносить свой вклад в проект.

Если вы не разработчик, Git предоставляет удобный способ доступа к этим проектам и их загрузки, и именно так мы будем использовать его в данном случае. Загрузите установщик Windows x64 с веб-сайта Git и запустите его.

Во время работы установщика вам будет предложено выбрать несколько параметров — оставьте для них значения по умолчанию. Одна страница параметров Adjusting Your PATH Environment, («Настройка вашей среды PATH») особенно важна. Он должен быть установлен на Git From The Command Line And Also From 3rd-Party Software («Git из командной строки, а также из стороннего программного обеспечения»).

3.2 Установка Miniconda3

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

Miniconda3 — это, говоря по-простому, инструмент для удобства. Он позволяет загружать, устанавливать и управлять всеми библиотеками, необходимыми для работы Stable Diffusion, без особого ручного вмешательства. На самом деле мы будем использовать Stable Diffusion через этот инструмент.

Перейдите на страницу загрузки Miniconda3 и нажмите «Miniconda3 Windows 64-bit», чтобы получить последнюю версию установщика.

Дважды щёлкните исполняемый файл после его загрузки, чтобы начать установку. Установка Miniconda3 требует меньше кликов по вкладкам, чем Git, но вам нужно следить за этой опцией:

Убедитесь, что вы выбрали All Users («Все пользователи»), прежде чем нажать «Далее» и завершить установку.

Вам будет предложено перезагрузить компьютер после установки Git и Miniconda3. Мы не сочли это необходимым, но это не повредит, если вы это сделаете.

3.3 Загрузите репозиторий Stable Diffusion GitHub и последнюю контрольную точку

Теперь, когда мы установили необходимое программное обеспечение, мы готовы загрузить и установить Stable Diffusion.

Сначала загрузите последнюю контрольную точку — версия 1.4 весит почти 5 ГБ, так что это может занять некоторое время. Вам необходимо создать учётную запись, чтобы загрузить контрольную точку, но для этого требуется только имя и адрес электронной почты. Всё остальное необязательно.

Примечание. На момент написания (4 сентября 2022 г.) последней контрольной точкой была версия 1.4. Если есть более новая версия, загрузите её.

Нажмите «sd-v1-4.ckpt», чтобы начать загрузку.

Примечание. Другой файл, «sd-v1-4-full-ema.ckpt», может дать лучшие результаты, но его размер примерно в два раза больше. Вы можете использовать любой из них.

Затем вам нужно скачать Stable Diffusion с GitHub. Нажмите зелёную кнопку «Код», затем нажмите «Загрузить ZIP». Кроме того, вы можете использовать эту прямую ссылку для скачивания.

Теперь нам нужно подготовить несколько папок, куда мы распаковываем все файлы Stable Diffusion. Нажмите кнопку «Пуск» и введите «miniconda3» в строку поиска меню «Пуск», затем нажмите «Открыть» или нажмите Enter.

Мы собираемся создать папку с именем «stable-diffusion» с помощью командной строки. Скопируйте и вставьте приведённый ниже блок кода в окно Miniconda3, затем нажмите Enter.

cd C:/
mkdir stable-diffusion
cd stable-diffusion

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

Если всё прошло хорошо, вы увидите что-то вроде этого:

Держите окно Miniconda3 открытым, оно нам снова понадобится через минуту.

Откройте ZIP-файл «stable-diffusion-main.zip», который вы скачали с GitHub, в вашей любимой программе архивации файлов. Кроме того, Windows также может сама открывать ZIP-файлы, если у вас нет архиватора. Держите ZIP-файл открытым в одном окне, затем откройте другое окно Проводника и перейдите в папку «C:\stable-diffusion», которую мы только что создали.

Перетащите папку в ZIP-файле «stable-diffusion-main» в папку «stable-diffusion».

Вернитесь в Miniconda3, затем скопируйте и вставьте в окно следующие команды:

cd C:\stable-diffusion\stable-diffusion-main
conda env create -f environment.yaml
conda activate ldm
mkdir models\ldm\stable-diffusion-v1

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

conda env create -f environment.yaml

Если это произойдёт, попробуйте следующую команду:

conda env update -f environment.yaml

Либо перейдите в «C:\Users\(Ваша учётная запись пользователя)\.conda\envs» и удалите папку «ldm», а затем выполните предыдущую команду conda env create -f environment.yaml.

Примечание: Итак, что мы только что сделали? Python позволяет сортировать проекты кодирования по «средам». Каждая среда отделена от других сред, поэтому вы можете загружать разные библиотеки Python в разные среды, не беспокоясь о конфликтующих версиях. Это бесценно, если вы работаете над несколькими проектами на одном ПК.

Строки, которые мы запустили, создали новую среду с именем «ldm», загрузили и установили все необходимые библиотеки Python для работы Stable Diffusion, активировали среду ldm, а затем изменили каталог на новую папку (перешли в неё).

Мы находимся на последнем этапе установки. Перейдите к «C:\stable-diffusion\stable-diffusion-main\models\ldm\stable-diffusion-v1» в проводнике, затем скопируйте и вставьте файл контрольной точки (sd-v1-4.ckpt) в папку.

Дождитесь завершения передачи файла, щёлкните правой кнопкой мыши «sd-v1-4.ckpt» и выберите «Переименовать». Введите «model.ckpt» в выделенное поле, затем нажмите Enter, чтобы изменить имя файла.

Смотрите также: Как сделать так, чтобы Windows показывала расширения файлов

Примечание. Если вы используете Windows 11, вы не увидите «переименовать» в контекстном меню, вызываемом правой кнопкой мыши. Вместо этого есть значок, который выглядит как миниатюрное текстовое поле.

Вот и всё — мы закончили. Теперь мы готовы использовать Stable Diffusion.

4. Как использовать Stable Diffusion

Созданная нами среда ldm необходима, и вам нужно активировать её каждый раз, когда вы хотите использовать Stable Diffusion. Введите

conda activate ldm

в окне Miniconda3 и нажмите «Enter». (ldm) слева указывает на то, что среда ldm активна.

Примечание. Эту команду нужно вводить только при открытии Miniconda3. Среда ldm будет оставаться активной до тех пор, пока вы не закроете окно.

Затем нам нужно изменить каталог (то есть использовать команду cd) на «C:\stable-diffusion\stable-diffusion-main», прежде чем мы сможем создавать какие-либо образы. Вставьте cd C:\stable-diffusion\stable-diffusion-main в командную строку.

4.1 Как сделать изображение со Stable Diffusion

Мы собираемся вызвать скрипт txt2img.py, который позволяет нам преобразовывать текстовые запросы в изображения размером 512×512. Вот пример. Попробуйте это, чтобы убедиться, что всё работает правильно:

python scripts/txt2img.py --prompt "a close-up portrait of a cat by pablo picasso, vivid, abstract art, colorful, vibrant" --plms --n_iter 5 --n_samples 1

Ваша консоль будет отображать индикатор выполнения по мере создания изображений.

Эта команда создаст пять изображений кошек, все они расположены в папке «C:\stable-diffusion\stable-diffusion-main\outputs\txt2img-samples\samples».

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

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

Совет: не переписывайте всю строку каждый раз. Используйте клавиши со стрелками для перемещения текстового курсора и просто замените запрос, удалив старые слова и вписав новые.

python scripts/txt2img.py --prompt "ЗДЕСЬ ВАШЕ ОПИСАНИЕ КАРТИНКИ" --plms --n_iter 5 --n_samples 1

Скажем, мы хотели создать реалистично выглядящего суслика в волшебном лесу в шляпе волшебника. Мы могли бы попробовать команду:

python scripts/txt2img.py --prompt "a photograph of a gopher wearing a wizard hat in a forest, vivid, photorealistic, magical, fantasy, 8K UHD, photography" --plms --n_iter 5 --n_samples 1

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

Stable Diffusion не ограничивается портретами и животными, она также может создавать поразительные пейзажи.

4.2 Что означают аргументы в команде?

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

  • --plms — указывает, как будут сэмплироваться изображения. Об этом есть статья, если вы хотите проверить математику.
  • --n_iter — указывает количество итераций, которые вы хотите сгенерировать для каждого запроса. 5 — приличное число, чтобы увидеть, какие результаты вы получаете.
  • --n_samples — указывает количество сэмплов, которые будут сгенерированы. По умолчанию установлено значение 3, но у большинства компьютеров недостаточно видеопамяти для этого. Придерживайтесь 1, если у вас нет особой причины изменить его.

Конечно, Stable Diffusion имеет массу различных аргументов, которые вы можете использовать для настройки результатов. Запустите

python scripts/txt2img.py --help

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

Для получения отличных результатов необходимо пройти массу проб и ошибок, но это, по крайней мере, половина удовольствия. Убедитесь, что вы записываете или сохраняете аргументы и описания, которые возвращают результаты, которые вам нравятся. Если вы не хотите проводить все эксперименты самостоятельно, на Reddit (и в других местах) появляются растущие сообщества, посвящённые обмену изображениями и подсказками, которые их сгенерировали.

Смотрите также: ​Как писать хорошие запросы для Stable Diffusion

5. Онлайн демо версия Stable Diffusion

Также вы можете воспользоваться онлайн демо версией: https://huggingface.co/spaces/stabilityai/stable-diffusion

Смотрите также:


Comments

  1. Добрый день, сделал все как написано- не сработало..выдает ошибку, i5-11300, RTX3050ti 16gb оперативы. Подскажите пжл,что делать?

    1. Приветствую! В статье чётко написано, что не менее 6 Гб видеопамяти, а не оперативной памяти. У вас 4 Гб видеопамяти, памяти не хватает, именно об этом и говорится в ошибке на скриншоте.

  2. Добрый день 

    На 3 этапе при вводе команды  ниже, система выдает  ошибку EnvironmentFileNotFound: 'C:\stable-diffusion\stable-diffusion-main\environment.yaml' file not found. Подскажите пожалуйста как быть . 

    cd C:\stable-diffusion\stable-diffusion-main

    conda env create -f environment.yaml

    conda activate ldm

    mkdir models\ldm\stable-diffusion-v1

    1. Приветствую! По какой-то причине отсутствует файл environment.yaml. Возможно, как-то неправильно разархивировали или перенесли

      Откройте консоль, перейдите в директорию C:\stable-diffusion\stable-diffusion-main:

      cd C:\stable-diffusion\stable-diffusion-main

      И посмотрите, какие там файлы командой:

      dir
      
      1. Благодарю за ваш ответ .Получилось установить но при попытке создать изображение выдает ошибку о том что памяти не хватает. Обьем видео памяти на ноутбуке 6023 mb Geforce rtx 3060. 
        Подскажите , можно ли это как то исправить ? 

        1. Приветствую! Попробуйте заменить файл txt2img.py на этот файл: https://raw.githubusercontent.com/CompVis/stable-diffusion/aa23db0f6da2b837c954121e99fbb38b95e10cf0/scripts/txt2img.py

          Это модифицированный оригинальный файл, предложен здесь: https://github.com/CompVis/stable-diffusion/pull/79

          После этого к запускаемым вами командам добавляйте опцию --unsafe

          Данная опция сделает две вещи:

          1. Отключит проверку на «взрослые» изображения.
          2. Должна сэкономить расход VRAM.
  3. Спасибо за инструкции, все прошло до конца без ошибок. У меня GTX 1660 c 6GB. Но на этапе генерации столкнулся с аналогичной ошибкой, как у пользователя выше:

    RuntimeError: CUDA out of memory. Tried to allocate 1024.00 MiB (GPU 0; 6.00 GiB total capacity; 4.54 GiB already allocated; 0 bytes free; 4.66 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

    Похоже предлагается отрегулировать max_split_size_mb и это как то связано с конфигом PYTORCH_CUDA_ALLOC_CONF

    Но где где это надо менять, не совсем понятно.

  4. Спасибо, попробую, об этой проблеме как раз только что читал на гитубе. А я параллельно нащупал GUI-интерфейс - о нём упоминается здесь.

    1. Скачивается только отдельная папка "optimizedSD" и кидается в общий каталог с папка уже установленного Stable Diffusion

    2. Ставим интерфейс через консоль командой "pip install gradio"

    3. Через консоль запускаем скрипт "python optimizedSD/txt2img_gradio.py" - в конце появляется ссылка

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

    P.S. Всё вроде работает, что-то грузит и считает - но на выходе пока что только зеленое изображение. Хотя ошибок никаких не пишет. Пока щупаю дальше.

  5. Выяснил, как решается проблема зеленой картинки на выходе. Надо поставить галочку в опции " full_precision" )))

    В прошлом сообщении потерлась ссылка, я брал инфу в гитуб ветке автора basujindal- https://github.com/basujindal/stable-diffusion/discussions/146

  6. такая ошибка вылазит, что делать?

    File "scripts/txt2img.py", line 22, in <module>
        from diffusers.pipelines.stable_diffusion.safety_checker import StableDiffusionSafetyChecker
      File "C:\Users\muham\.conda\envs\ldm\lib\site-packages\diffusers\__init__.py", line 26, in <module>
        raise ImportError(
    ImportError: `diffusers` requires transformers >= 4.25.1 to function correctly, but 4.19.2 was found in your environment. You can upgrade it with pip: `pip install transformers --upgrade`

    1. Я перешел на ArtRoom проект после этой сборки. В целом годный результат.

  7. Traceback (most recent call last):
      File "scripts/txt2img.py", line 8, in <module>
        from imwatermark import WatermarkEncoder
    ModuleNotFoundError: No module named 'imwatermark'

    Выдаёт ошибку какую-то связанную с водным знаком

Добавить комментарий для Антон Отменить ответ

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

wp-puzzle.com logo