Благодаря семимильному прогрессу развития нейросетей, сегодня никого не удивишь возможностью сгененрировать картинку из любого текста. Мы рассказывали про две самые известные такие системы — DALL-E 2 и Midjourney.
Однако недавно у них появился конкурент, способный уже сейчас во многом заменить обе нейросети.
Stable Diffusion (страница на GitHub) — самая обсуждаемая в последние недели нейромодель генерации изображений из текстового запроса. Некоторые уже называют её важнейшим релизом в этой сфере за весь 2022 год. Она настолько мощная, что её страницу даже забанили в Twitter, опасаясь злоупотреблений.
Всё потому, что Stable Diffusion абсолютно бесплатна, легко настраивается и способна работать на практически любом современном компьютере. Вам не нужно умолять разработчиков добавить вас в лист ожидания (с российскими IP не добавляют!), как с DALL-E 2. И не придётся использовать чужие сайты и серверы, как у Midjourney.
Всю эту ночь бодался с установкой Stable Diffusion на свой Mac с процессором M1. Победил в пять утра. Протестировал и, если честно, шокирован до сих пор. Еще никогда столь продвинутые нейросети не были так доступны для народа.
Как установить 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
Во-вторых, перед тем, как настраивать саму нейросеть (шаг с командой 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 iphone made from cookies
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
a red juicy apple floating in outer space, like a planet
Три «портрета» Стива Джобса с немного различающимися запросами
Stable Diffusion — невероятно мощная, гибкая нейросеть, чей открытый код позволяет проекту быстро эволюционировать и тонко настраиваться каждым желающим. Я думаю, что со временем именно она или её последователи затмят почти все подобные нейросети.
Текущая версия не идеальна. DALL-E 2 и Midjourney могут давать лучше выглядящие результаты на ряд запросов. Но Stable Diffusion уже сейчас способна на большее, чем любая другая подобная нейросеть с полностью открытым кодом. И это только начало…
P.S. Если у вас вместо картинки появляется картинка Рика Эстли (тот самый «рикролл») — вы ввели потенциально NSFW-запрос. Такие отбраковываются нейросетью. В Discord проекта есть подсказка по отключению цензуры. Но тогда вы действуете на свой страх и риск, а я ответственность нести не буду.