Идея проекта
В 2023 году для вступительных экзаменов в Высшую Школу Экономики я рисовала акварельный комикс о девочке, которая попала в чудо-страну на жар-птице. Этот проект по-своему мне близок и поэтому мне захотелось обучить нейросеть Stable Diffusion генерировать изображения в стиле моего комикса.
Главная цель проекта — посмотреть, как нейросеть обучится определенному стилю и реализует его в дальнейшем
Мой стиль

Обложка к моему комиксу

[1]
[2]
[3]
[4]
[5]
Основные отличительные черты моего стиля это:
- Неровная обводка
- Акварельные мазки
- Не прорисованные лица и глаза
- Карандашные линии
- Белые пятна
- Карикатурность персонажей
- Большой акцент на природе
Подготовка
Я подготовила изображения размером 512 × 512 пикселей для обучения нейросети
Dataset
Список использованных в проекте инструментов:
— Stable Diffusion — обучение генеративной нейросети под свой стиль; — Google Colab — выполнение кода и генераций; — Hugging Face — получение токена для обучения нейросети, загрузка полученной модели на сайт; — Adobe Photoshop — обрезка изображений для подготовки датасета
Описание процесса обучения
Я загрузила все необходимые для работы библиотеки: Diffusers и DreamBooth.
Первым делом я загрузила свой датасет в папку valerok. Подключила графический процессор T4 в Google Colab для эффективной работы. Команда nvidia-smi проверяет настройки графического процессора. Далее я подключила все необходимые библиотеки
Вторым шагом нужно было загрузить изображения с компьютера в среду, в которой я буду работать, в Google Colab. Затем нужно было посмотреть, что изображения действительно загрузились. Чтобы проверить свой датасет, я вывожу несколько картинок на экран. Это говорит о том, что датасет загружен и можно продолжать дальше
Библиотека BLIP используется для генерации описаний изображений на основе текстовых подсказок или контекста
Для описания своего стиля я выбрала префикс промпта «watercolor illustration in VALEROK style»
После запуска ячейки этот код сформировал мне файл metadata.jsonl., который содержал название картинок и промптов к ним, состоящих из префикса моего стиля и описание картинки от библиотеки BLIP
После предварительной подготовки я запустила ячейку со скриптом с параметрами:
— dataset_name = «valerok» — output_dir="valerok_style_LoRA» -instance_prompt="watercolor illustration in VALEROK style» -resolution=512 -max_train_steps=500 -checkpointing_steps=250
Так было сокращено время, затраченное на тренировку нейросети, и мне пришлось ждать всего полчаса.
