Перевод с небольшими дополнениями этой статьи
Stable Diffusion - open source проект, который позволит вам генерировать изображения по текстовому описанию, вроде того, что делают DALLE от Open AI или Midjourney. Ключевое отличие в том, что в данном случае все происходит на вашей машинке и бесплатно. Так что если заинтересовал, добро пожаловать под кат.
Кстати, картинку для этого поста я сгенерировал с помощью Stable Diffusion.
На данный момент тут вы найдете инструкцию по установке на Mac с чипом
m1
илиm2
, но если у вас есть устройство с видеокартой, то скорее всего вы сможете завести stable diffusion без особых проблем, но нужно погуглить.
Требования
- Mac с чипом M1 или M2.
- 16 ГБ оперативной памяти или более. 8 ГБ оперативной памяти работает, но медленно.
- macOS 12.3 или выше.
Устанавливаем python3
Необходимая версия >= 3.10
, проверить текущую установленную версию можно так
python3 -V
Если в выводе команды вы видите версию >= 3.10
, то можно пропустить следующий шаг
Установка/Обновление python3
brew update
brew install python
Клонируем репозиторий и устанавливаем зависимости
git clone -b apple-silicon-mps-support https://github.com/bfirsh/stable-diffusion.git
cd stable-diffusion
mkdir -p models/ldm/stable-diffusion-v1/
Настраиваем virtualenv чтобы установить зависимости
python3 -m pip install virtualenv
python3 -m virtualenv venv
# Активируем virtualenv, нужно выполнять эту команду перед каждым использованием stable diffusion
source venv/bin/activate
# Устанавливаем зависимости
pip install -r requirements.txt
В первый раз, когда я запустил установку
pip install -r requirements.txt
у меня возникла проблема на шагеBuilding wheel for tokenizers
.На этом моменте установка попросту зависла, после чего я прервал выполнение и выполнил
pip install --upgrade pip
(Не гарантирую, что это именно это помогло 😁).На второй раз установка прошла минут за 5, первый раз я ждал около 25 минут (у меня mac на
m1 pro
).Если вы видите такие ошибки, как
Failed building wheel for onnx
, вам может потребоваться установить эти пакеты: `brew install Cmake protobuf rust
Скачиваем модель
Переходим в репозиторий Hugging Face , читаем лицензию и если согласны с условиями - скачиваем sd-v1-4.ckpt (☝️4.2Gb
) в models/ldm/stable-diffusion-v1/model.ckpt
Проверяем
python scripts/txt2img.py \
--prompt "a red juicy apple floating in outer space, like a planet" \
--n_samples 1 --n_iter 1 --plms
При первом запуске ☝️ скрипта все происходит, последующие запуски генерации на моем устройстве занимали около минуты. Все получившиеся изображения находятся в директории outputs/txt2img-samples/
Полный список доступных скриптов лежит в директории scripts
, а чтобы посмотреть доступные для скрипта команды, нужно запустить его с флагом --help
, например
python scripts/txt2img.py --help
Вместо заключения
После проверки случайно наткнулся на репозиторий с веб интерфейсом, но мне уже было лень с ним возиться 😁