В «Коде» мы уже прошли большой путь по работе с нейросетями:
- рассказали, что такое искусственный интеллект;
- объяснили, как учатся нейронки;
- посмотрели, чем занят нейропроцессор в телефоне;
- сгенерировали текст, фото, логотипы и музыку;
- подключили нейросеть к веб-камере;
- попробовали создать картинки на Гугл-ноутбуке;
- обучили свою нейросеть отличать одни картинки от других.
Недавно мы сделали совсем серьёзный проект и поставили нейросеть Stable Diffusion себе на компьютер. Но есть пара моментов:
- Это только одна версия нейросети, которая натренирована рисовать картинки в определённом стиле. Есть много других нейросетей, которые рисуют иначе.
- Для запуска нужно оформлять все параметры в командной строке. Это хорошо для однотипных задач, но для тонкой настройки подходит слабо.
Чтобы закрыть тему с нейросетями, которые рисуют картинки, сегодня установим Invoke AI — это мегакомбайн из нейросетей, который умеет почти всё. А ещё у него красивый интерфейс.
Что такое Invoke AI
Invoke AI — это инструмент для работы с нейросетями на основе Stable Diffusion. Вот что он умеет:
- выбирать версию нейросети для отрисовки изображения;
- создавать картинку по текстовому описанию;
- создавать новую картинку на основе вашей картинки и текстового запроса;
- рисовать что-то новое на основе вашего простого рисунка;
- обучать новую нейросеть с нуля и дообучать то, что уже есть.
Самое классное в том, что у Invoke AI есть полноценный графический интерфейс, где можно выбрать одну из 12 обученных нейросетей и выставить нужные настройки. Под капотом это всё равно превращается в команду в терминале, но для пользователя всё просто: ввёл запрос, мышкой настроил параметры и сразу получил результат.
Требования к железу
В отличие от классического Stable Diffusion, которой нужно хотя бы 8 гигабайт видеопамяти, Invoke AI для работы нужно:
- 4 гигабайта видеопамяти, если у вас карточка Nvidia (для любой операционной системы);
- 4 гигабайта видеопамяти, если у вас карточка на чипе AMD, но тогда это будет работать только под Linux;
- можно вообще без отдельной видеокарты, если у вас компьютер Apple на чипе M1 или M2.
Разработчики говорят, что все видеокарты Nvidia серии 10xx, 1650 и 1660 тоже не подойдут, даже ti — они не умеют работать с нужной точностью вычислений.
По памяти: оперативной нужно хотя бы 12 гигабайт, на диске — 18 (45 для полноценной работы).
Ещё нужен Python версии 3.9 или 3.10 — всё тестировалось на них, а вот с версией 3.11 и выше система работать уже не будет, там нет поддержки нужных библиотек.
Автоматическая установка
Идём на страницу с установщиком и скачиваем файл InvokeAI-installer-v2.X.X.zip, где X — цифры последней версии проекта. В нашем случае файл назывался InvokeAI-installer-v2.3.1.post2.zip.
После скачивания распаковываем файл в свою папку и запускаем:
- install.bat — если у вас Windows;
- install.sh — если у вас Мак или Линукс.
Чтобы запустить файл .sh, нужно запустить терминал и перетащить в него этот файл. Если просто дважды кликнуть по файлу, он откроется в текстовом редакторе.
Установщик предупредит, чтобы вы ещё раз проверили версию Python и установили дополнительные библиотеки Microsoft Visual C. Если всё в порядке — нажимаем энтер и попадаем в меню выбора видеокарты. Цифрой выбираем, какая карта или процессор у нас есть, и снова нажимаем энтер:
Некоторое время спустя установщик предложит настроить систему перед дальнейшей установкой. Например, можно попросить его очищать видеопамять после каждой сгенерированной картинки, убрать фильтр цензуры и выбрать нужную точность вычислений:
Последнее, что осталось сделать, — выбрать модели нейросетей, с которыми мы хотим работать. По умолчанию уже выбрано несколько моделей — они различаются характером и размером картинок, которые они могут генерировать. Можно выбрать все модели — в этом случае на диске должно быть свободно 45 гигабайт, а скачивание продлится пару часов:
Ручная установка
Иногда бывает так, что автоматическая установка останавливается с ошибкой — не та версия какой-то библиотеки или установщик не может обновить pip. В редакции мы с этим тоже столкнулись на одном из компьютеров, поэтому в таком случае единственный выход — ручная установка Invoke AI.Особенность ручной установки в том, что там всё нужно делать по шагам и на каждом шаге выбирать свою систему и железо. Чтобы было проще, разработчики сделали отдельную страницу, где рассказали про каждый этап установки в зависимости от операционной системы. Например, на шестом шаге нам предлагают выбрать, какая у нас видеокарта — для каждого варианта будут свои команды:
Как запустить
Для запуска переходим в папку, куда установился Invoke AI, и запускаем файл invoke.sh или invoke.bat — смотря какая у вас операционная система. После запуска откроется командная строка, где нужно выбрать режим работы:
- Работа через командную строку.
- Веб-интерфейс.
- Обучение моделей.
- Слияние моделей.
По умолчанию запускается веб-интерфейс, поэтому можно просто нажать энтер и работать с системой в браузере.
Как пользоваться
Создание картинок по описанию — это когда мы задаём текстовое описание картинки на английском, а нейросеть это рисует. Это режим работы по умолчанию — вводим запрос в левом верхнем текстовом поле и нажимаем invoke:
Самое интересное, что нейросеть учтёт любые пожелания: даже если мы захотим получить старый поляроидный снимок, она добавит рамку и поработает с передачей цвета, как на старых фото:
Из параметров мы рекомендуем включить опцию «Случайный сид» — так изображения получаются разными при одном и том же запросе.
Создание картинок на основе других картинок.
Например, так выглядит автор этой статьи Михаил Полянин, если загрузить обычное фото на документы и попросить нарисовать что-то киберпанковское:
При этом нужно помнить такую особенность портретных моделей: почти всегда она дорисует волосы, даже если на фотографии изображён человек без волос. Дело в том, что в датасетах обычно лысых меньше, чем волосатых, поэтому нейронка считает, что волосы должны быть всегда.
Для проверки мы загрузили фото нашего СММ-специалиста Виталия Вебера, и вот что получилось:
А если в запросе отдельно указать, что он лысый (bald), то результат получается ближе к реальности:
Как поменять модель
Для смены модели выберите новую в выпадающем меню сверху. После выбора системе нужно полминуты, чтобы выгрузить из памяти старую модель и загрузить новую:
Мне непонятно, что делают остальные инструменты, как быть?
Мы специально не рассказываем обо всех возможностях и инструментах Invoke AI, чтобы статья не стала бесконечным гайдом. Если вам станет интересно, что делает тот или иной инструмент или кнопка, — наведите на него курсор мышки и прочитайте всплывающую подсказку. Разработчики позаботились о пользователях и добавили описание практически ко всем элементам интерфейса.
Что дальше
Пока ничего — мы сделали всё, что хотели, и получили, наконец, нормальный инструмент для работы с картинками. Единственное, что осталось в этом плане, — установить себе на компьютер Midjourney, но этой сети пока нет в свободном доступе. Как появится — сразу напишем.