Идея проекта
В центре проекта — мой кот Митюки, выступающий как персонаж с узнаваемыми чертами. С помощью дообучения модели Stable Diffusion (DreamBooth + LoRA) нейросеть обучается воспроизводить именно этого кота, фиксируя его визуальные особенности: форму мордочки, структуру шерсти, выражение «лица».
Далее Митюки помещается в различные сценарии — от повседневных до фантастических и абсурдных.
Исходные данные
Для обучения был собран датасет изображений кота: — 22 изображения — квадратный формат (1:1) — разные ракурсы, освещение и позы
Примеры исходные фотографий Митюки
Митюки в роли офисного работника
Офисный работник
Блок кода с промптом к изображению
Митюки в роли божественного персонажа
Блок кода с промптом к изображению
Митюки в роли злодея
Блок кода с промптом к изображению
Митюки в роли злодея
Блок кода с промптом к изображению
Митюки в роли астронавта в космосе
Митюки в роли гигантского кота.
Блок кода с промптом к изображению
Митюки в роли кота с картины Ван Гога
Блок кода с промптом к изображению.
Митюки в роли персонажа картины в фэнтезийном лесу.
Митюки в роли эстетик кота на фоне цветов в сказочном лесу.
Митюкин в роли эстетик кота на фоне цветов в сказочном лесу.
Митюки в роли растерянного повара на кухне в состоянии полного хаоса.
Митюкин в роли абсурдного кота-интеллектуала, который пытается читает книгу.
Этапы работы с кодом
В начале ноутбука производится импорт необходимых библиотек. В частности, используются следующие библиотеки: PyTorch, Diffusers, Transformers, Accelerate, Pillow, Matplotlib, а также стандартные модули для работы с файловой системой и данными.
Скачиваем официальный скрипт для обучения нейросети.
Создание папки local_dir = «./citi/»: имя папки, где будут лежать картинки для обучения. И далее загрузка файлов files.upload ().
Далее с помощью нейросети BLIP создаем систему автоматического описания картинок.
Сканируем папку с фотографиями и с помощью нейросети создаем для каждой из них текстовое описание, сохраняя готовый список в файл метаданных для будущего обучения.
Блок настраивает системную кодировку для корректной работы с текстом и создает базовую конфигурацию библиотеки Accelerate, чтобы обучение нейросети проходило быстрее и стабильнее на доступном оборудовании.
Выполняем вход в аккаунт Hugging Face для доступа к закрытым моделям и устанавливаем библиотеку datasets.
Обучение модели
Далее запускаем основной процесс обучения нейросети SDXL методом Dreambooth LoRA, используя загруженные фотографии.
Создаем страницу модели на Hugging Face, формируется для нее карточку с описанием параметров и загружаем все готовые файлы LoRA в облачный репозиторий.
И в конце прописываем код который подготавливает среду для генерации: загружает базовую модель Stable Diffusion XL, подключает к ней обученную LoRA.