Original size 1036x1486

Uzno-arts. Обучение генеративной сети

PROTECT STATUS: not protected

Концепция:

Первоначальным этапом в проекте по генерации изображений всегда является выбор исходных изображений (референсов). Я решила выбрать изображения в минималистичном стиле, так как по моей теории такие изображения должны были лучше считываться нейросетью. Также я подобрала изображения приближенные к аниме стилю, потому что именно под это заучены многие подобные программы. В итоге у меня получился датасет из 27 изображений от художника Uzno.

big
Original size 1896x524

Датасет на основе работ художника Uzno

Процесс:

Первым этапом я подготавливала систему к тренировке, загружала все необходимые пакеты функций, приводила все изображения к единому параметру 512×512 рх, подгружала их в свой ноутбук, выводила на экран.

big
Original size 2248x1078

Процесс подготовки к обучению

big
Original size 2268x830

Процесс подготовки к обучению

big
Original size 2284x1182

Процесс связи обученной модели с Hugging face

Далее я обучала модель, регестрировалась на ресурсе «Hugging face», получала токен: этот процесс занял у меня 43 минуты.

После обучения я могла переходить к генерации своих изображений. Я постаралась ставить перед обученной моделью максимально легкие задачи по созданию персонажей.

Важно отметить, что стиль художника был передан на 10/10, также хорошая узнаваемость у лиц. Кое-где нейросеть даже пыталась повторить подпись автора.

Original size 2230x338

Промпт № 1

К сожалению, модель не смогла дать разнообразия образов героев и почти всем рисовала одинаковую одежду.

Original size 1024x1024

Промпт № 1. Результат

Original size 2274x406

Промпт № 2

Основная сложность в генерации людей всегда конечности, а вернее руки. С ними часто не справляется даже Midjorney, так что от своей модели я многого и не ждала.

Original size 1024x1024

Промпт № 2. Результат

Original size 2234x276

Промпт № 3

На удивление, лысый персонаж был исполнен достаточно неплохо, с учётом того, что подобных героев в исходных изображениях не было.

Original size 1024x1024

Промпт № 3. Результат

Вывод:

Самым сложным в этом проекте для меня стали технические моменты, а вернее постоянные неполадки и ошибки в работе систем. Почти на каждом этапе я сталкивалась с некорректной работой тех или иных функций. Я пробовала выполнить данную работу и в Kaggle и в Google Kolab и в итоге остановилась на последнем варианте. Так как несмотря на ограниченность часов использования GPU, сама система реже допускала ошибки и мне не приходилось много раз начинать всё заново или ждать, пока система сама отвиснет и будут хотя бы появляться кнопки запуска кода.

Таким образом, моя стратегия была следующая: натренироваться и понять что и как работает в Kaggle, где 30 часов на использование GPU. А после, уже с полным пониманием, зачем каждый этап и какие ошибки могут быть, перейти в без проблемно работающий Google Kolab и выполнить всю работу там. Ещё один совет, который я бы дала при обучении модели для последующей генерации изображений: если возникают постоянные проблемы и ошибки на каждом этапе — перейти на другое устройство и новый аккаунт. Этот способ помог мне закончить проект, так как только начав всё с чистого листа, мне удалось добиться устранения потери весов для Lora.

Описание применения генеративной модели:

Stable Diffusion — обучение генеративной нейросети под свой стиль. Hugging Face — получения токена для обучения нейросети.

Uzno-arts. Обучение генеративной сети