Благодаря семимильному прогрессу развития нейросетей, сегодня никого не удивишь возможностью сгененрировать картинку из любого текста. Мы рассказывали про две самые известные такие системы — DALL-E 2 и Midjourney.
Однако недавно у них появился конкурент, способный уже сейчас во многом заменить обе нейросети.
Stable Diffusion (страница на GitHub) — самая обсуждаемая в последние недели нейромодель генерации изображений из текстового запроса. Некоторые уже называют её важнейшим релизом в этой сфере за весь 2022 год. Она настолько мощная, что её страницу даже забанили в Twitter, опасаясь злоупотреблений.
Всё потому, что Stable Diffusion абсолютно бесплатна, легко настраивается и способна работать на практически любом современном компьютере. Вам не нужно умолять разработчиков добавить вас в лист ожидания (с российскими IP не добавляют!), как с DALL-E 2. И не придётся использовать чужие сайты и серверы, как у Midjourney.
Всю эту ночь бодался с установкой Stable Diffusion на свой Mac с процессором M1. Победил в пять утра. Протестировал и, если честно, шокирован до сих пор. Еще никогда столь продвинутые нейросети не были так доступны для народа.
За наводку спасибо Anton Burkin.
Как установить Stable Diffusion на свой Mac с M1 бесплатно
Да, так выглядит процесс работы Stable Diffusion на вашем компьютере.
Что нужно для установки Stable Diffusion:
▪ Mac с процессором M-серии
▪ 15 ГБ свободного места на диске
▪ крайне желательны 16 и более ГБ оперативной памяти (на 8 ГБ генерация будет очень долгой)
Почти все действия по установке, а также использованию нейросети будут выполняться в Терминале (Terminal.app). У нейросети пока что нет приложения с графическим интерфейсом. Но это вопрос времени.
Как установить Stable Diffusion? Заходим на страницу форка проекта и выполняем всё, что там написано.
Что, ожидали пошаговую инструкцию? Понимаю. Я специально не перевожу всю инструкцию на русский язык, иначе неготовые к такому опыту люди лишь зря потратят время. Если вы откроете ссылку и вас что-то спугнёт (английский язык, установка Homebrew, Python и других пакетов в Terminal, ввод команд только на английском), то лучше даже не начинать.
Stable Fusion сгенерировала картинку по моему текстовому запросу и сохранила её в папку.
От себя к инструкции, которую стоит читать очень внимательно, добавлю только три вещи. Во-первых, сразу после установки Python, а не потом, введите команду:
brew install Cmake protobuf rust torch
После этапа source venv/bin/activate на всякий случай ещё раз установите пакеты Cmake и protobuf, введя друг за другом следующие команды. Это может помочь в случае появления ошибок на этапе pip install -r requirements.txt:
brew install Cmake
brew install protobuf
brew install rust
Во-вторых, перед тем, как настраивать саму нейросеть (шаг с командой git clone в инструкции по ссылке) зайдите в Finder по пути usr/local/opt/ и удалите папку python3. Пусть останется только папка python3.10.
Наконец, если у вас будут проблемы с процессом установки, особенно на этом этапе “pip install -r requirements.txt” — зайдите в Discord проекта и поищите там решение. Либо напишите ошибку в комментариях к этой статье, постараюсь помочь.
Процесс на первый взгляд непростой, но главная сложность — только в понимании английского да решении возникающих ошибок.
Как только у вас получится выполнить все пункты инструкции, вы получите локально работающую нейросеть Stable Diffusion.
Как пользоваться Stable Diffusion
1. Открываем Терминал (Terminal.app) в macOS.
2. Последовательно вводим и исполняем (клавиша Enter) следующие команды:
cd stable-diffusion
source venv/bin/activate
3. Вписываем текстовый запрос на генерацию изображения (целиком):
python scripts/txt2img.py \
--prompt "ЗАМЕНИТЕ ЭТОТ ТЕКСТ НА ТЕКСТОВЫЙ ЗАПРОС, НЕ УБИРАЯ КАВЫЧКИ" \
--n_samples 1 --n_iter 1 --plms
4. Спустя 30-90 секунд работы нейросети забираем результаты в папке: /stable-diffusion/outputs/txt2img-samples/
Сложно? Если да, то лучше либо подождите релиза версии с графическим интерфейсом, либо попробуйте эту нейросеть онлайн, в чужом облаке.
Примеры картинок из текстовых запросов, которые я создал через Stable Diffusion
a red juicy apple floating in outer space, like a planet
Скажу сразу: ниже будут очень пресные результаты, ибо в пять утра, сразу после нескольких часов настройки нейросети, фантазия работает не очень хорошо.
Создание запросов на генерацию изображений можно считать профессиональным навыком. Если вам хочется получить что-то конкретное, придётся потрудиться и перепробовать массу дескрипторов — слов, направляющих фантазию нейросети в нужное русло.
a bipedal dog robot shooting from ak-47 assault rifle on a target practice range (отсылка)
a realistic pikachu smiling and standing in grass at the forest with bokeh effect
a cat sitting on a sofa memphis style colorful bold kitch
renaissance painting of two men in medieval armor protecting an iphone on a pedestal at a center of a massive cathedral hall



Три «портрета» Стива Джобса с немного различающимися запросами





“an impressionist oil painting of sunflowers in a magenta vase in a cyan room”, 5 попыток





“abstract art painting”, 5 попыток





“drawing of a thoughtful brazilian girl”, 5 попыток





“a portrait headshot of sci fi metallic human, bright eyes, melancholic complex geometric figure liminal machinery by Oskar Schlemmer, Moebius, John Berkey, oil on canvas, Portrait Facial Head, featured on Artstation, HD wallpaper, anime”, 5 попыток





“a cyberpunk canopy village in a dense jungle at night, colorful neon lights, trending on art station”, 5 попыток





“digital art by Ilya kuvshinov, finely detailed wide eyes, symmetric face, delicate features, happy gaze, an extremely happy girl, pixiv, artstation, extremely high quality artwork”, 5 попыток





“italian villa near naples, highly detailed digital art by greg rutkowski, thomas kinkade, ted nasmith, trending on artstation, cgsociety”, 5 попыток
Все эти картинки я сгенерировал на своём Mac.
Stable Diffusion — невероятно мощная, гибкая нейросеть, чей открытый код позволяет проекту быстро эволюционировать и тонко настраиваться каждым желающим. Я думаю, что со временем именно она или её последователи затмят почти все подобные нейросети.
Текущая версия не идеальна. DALL-E 2 и Midjourney могут давать лучше выглядящие результаты на ряд запросов. Но Stable Diffusion уже сейчас способна на большее, чем любая другая подобная нейросеть с полностью открытым кодом. И это только начало…
P.S. Если у вас вместо картинки появляется картинка Рика Эстли (тот самый «рикролл») — вы ввели потенциально NSFW-запрос. Такие отбраковываются нейросетью. В Discord проекта есть подсказка по отключению цензуры. Но тогда вы действуете на свой страх и риск, а я ответственность нести не буду.
P.P.S. Недавно появился новый «форк» Stable Diffusion с поддержкой Mac и M1 с большим количеством функций и настроек, включая графический интерфейс. Рекомендую к установке только после того, как вы разберётесь с вариантом из этой статьи – там посложнее и требует базового понимания, что с чем работает и как решать проблемы с взаимодействием пакетов.

26 комментариев
Форум →