Модель подходит для создания бесшовных узоров, абстрактных рисунков и стилизованных под акварель образов. Как использовать модель и как обучить нейросеть на своих картинках?




Как использовать .ckpt модель
Качаете файл .ckpt, кидаете в папку с моделями — а дальше все зависит от форка, который вы используете. В InvokeAI, которым пользуюсь я, модели добавляются обычной загрузкой invoke.py и выполнением команды !import_model в консоли.
Как обучить нейросеть на своих картинках, если нет нвидии 4090
У гугла есть замечательный сервис colab — гугл дает бесплатное железо примерно на час. Этого достаточно, чтобы создать модель на основе 15-30-50 изображений.
Сначала идем сюда и знакомимся с колабом (но ничего не трогаем): https://colab.research.google.com/github/ShivamShrirao/diffusers/blob/main/examples/dreambooth/DreamBooth_Stable_Diffusion.ipynb
Все, что требуется от пользователя, кроме прокликивания каждого окна с кодом и загрузки картинок, — ключ от hugging face.
Регистрируемся на huggingface.co, а затем создаем ключ в настройках https://huggingface.co/settings/tokens

Ключ вставляем сюда:

Отмечаем сохранение модели в гуглдрайв и указываем папку, если хотите (она создастся автоматически, в ней будет лежать модель)

Далее указываем, как будем вызывать свой стиль или объект

Конкретный токен не так важен, но главное, чтобы вы сами это запомнили. И если он будет коротким — вам будет проще вписывать его в запрос.
Затем загружаем картинки:

У загрузчика есть проблемы с сафари, лучше загружать из хрома. Или сначала добавить картинки в папку на гугл-диске, а потом указать путь до нее.
Нужно использовать размер 512x512 и лучше подготовить изображения заранее. Что вырезать — решайте сами, но я рекомендую вырезать так, чтобы сохранялась композиция и значимые объекты целиком. Можно сделать несколько отдельных картинок с увеличенным масштабом.

В зависимости от количества изображений, можно изменить количество шагов обучения. Разумное количество — 100 шагов * количество картинок. Для 8 картинок — а хватит и 8 — достаточно 800 шагов. Слишком много шагов тоже плохо: генерации станут слишком контрастными и на них появятся артефакты.

Далее просто запускайте каждый блок в колабе кнопкой Play в левом верхнем углу и здите завершения каждого кода. Когда доберетесь до участка, показанного выше, увидите процесс обучения. Он займет примерно 10 минут + еще 10-30 минут, в зависимости от количества картинок и шагов.
После обучения можно проверить модель на тестовой генерации и сконвертировать в формат .ckpt:

Теперь файл у вас на диске — скачивайте и добавляйте в любимый форк.
Дополнительно можно удалить лишние файлы и завершить процесс

О себе: Меня зовут Артур Нецветаев, я менеджер продуктов, предприниматель и дизайнер интерфейсов. Я помогаю с разработкой интерфейса InvokeAI и пользуюсь им сам с момента создания.
Комментарии (6)
romanown
13.11.2022 21:53+6несмотря на подробное и даже пошаговое описание действий, явно написано для тех кто уже все понимает и ведет такую же деятельность. для тех кто нашел статью отдельно и без предыдущего обсуждения, вообще непонятно что и зачем. модели это конечно хорошо. авторские права частников тоже хорошо. но вот все равно все это относительно. художник сегодня уведел что-то в моей картине и завтра что-то из этого использовал даже не задумываясь. но ведь не увиев мою, он не придумал бы свою. получается все же использовал даже не уведомив автора.
netsvetaev Автор
13.11.2022 21:54Статья для тех, кто уже в курсе, что такое нейросети и генераторы картинок, но ищет простое руководство для создания своих моделей. Но я рад любым предложениям. Что бы вы изменили, чтобы стало понятнее менее продвинутым пользователям?
romanown
13.11.2022 22:52+1спасибо за уточнение. исключительно небольшое пояснение в самом начале для таких специалистов в моделях как я, которые в общем понимают но подробностей нет. как вариант этот Ваш ответ мне, как вариант немного расширить, как раз был бы подходящим началом статьи.
dimnsk
занудство
1. большинство моделей если не OpenAI и внутренних разработок бесплатны, а HF все бесплатны
2. colab не 1 час, а 8-9 часов GPU дает, CPU и того больше
netsvetaev Автор
Вы правы. Все зависит от нагрузки.
netsvetaev Автор
Конкретно в случае обучение модели гугла хватает примерно на час (я не заходил дальше, но такие были отзывы у других пользователей).
Что касается бесплатности, тут такой прикол: публикуемые сейчас модели основаны на чужих работах, их делали без спроса у авторов. Художники, в лучшем случае, интересуются нейросетями, но в общем — боятся. Копирайт, копирование работ, вся эта чушь. А я обучил на своих работах и не боюсь опубликовать как есть. Этим мне бы хотелось немного изменить отношение к нейросетям художников и иллюстраторов.