Рубрикатор
Рубрикатор проекта
1. Концепция проекта — Формулировка темы — Цели и задачи
2. Подготовка и обучение модели — Описание датасета — Подготовка модели к обучению — Обучение модели
3. Результаты генерации — Примеры изображений — Визуальный анализ результатов — Выводы
4. Ссылки
Концепция проекта
Формулировка темы
Генерация изображений в стиле Михаила Врубеля с помощью обученной модели Stable Diffusion.
Цель проекта
Исследовать, как генеративная нейросеть может воспроизводить особенности художественного стиля Врубеля.
Задачи проекта
— Собрать датасет из работ художника.
— Обучить модель на этом материале.
— Сгенерировать серию изображений.
— Проанализировать результат.
Подготовка и обучение модели
Описание датасета
Для обучения модели был собран датасет из 20 работ Михаила Врубеля. Изображения были отобраны с сайта artchive, все картины выполнены в технике масляной живописи. Все изображения приведены к квадратному формату (1:1) для соответствия требованиям модели генерации. Размеры изображений не нормировались, так как модель корректно обрабатывает разное разрешение.
Примеры изображений из датасета
Шестикрылый серафим (Азраил), Михаил Врубель, 1904
Сирень, Михаил Врубель, 1900
Полет Фауста и Мефистофеля, Михаил Врубель, 1896
Демон сидящий, Михаил Врубель, 1890
Портрет Константина Дмитриевича Арцыбушева, Михаил Врубель, 1897
Остальные работы Михаила Врубеля, использованные для обучения модели.
Подготовка модели к обучению
Для начала была проверена доступность GPU. После чего были установлены библиотеки diffusers, accelerate, transformers, peft и bitsandbytes, а также скачан обучающий скрипт train_dreambooth_lora_sdxl.py из официального репозитория Hugging Face.
Установка необходимых библиотек и скрипта обучения LoRA-модели
Далее в локальную папку Google Collab был загружен датасет. После чего были визуализированы несколько файлов оттуда, чтобы убедиться в корректном чтении перед запуском обучения.
Загрузка изображений в локальную папку и их проверка с помощью визуализации.
На этом этапе модель BLIP (Salesforce/blip-image-captioning-base) автоматически сгенерировала текстовые описания ко всем картинам из датасета.
Для каждого изображения из папки images был сформирован промпт по шаблону photo collage in VRUBEL style, + описание.
Генерация описаний (captioning) с помощью BLIP и формирование обучающих промптов
Далее нужно было создать персональный токен (тип: Fine-grained) с необходимыми правами на сайте Hugging Face.
Создание персонального токена авторизации Hugging Face для загрузки и сохранения модели
Финальным этапом подготовки стало удаление модели BLIP для освобождения видеопамяти, установка корректной кодировка UTF-8 и авторизация через notebook_login (), что позволило получить доступ к предобученным моделям, а также опубликовать результат обучения на Hugging Face Hub.
Удаление BLIP для очистки памяти, установка кодировки UTF-8 и авторизация в Hugging Face
Обучение модели
Теперь можно было приступать к непосредственно обучению модели. Процесс обучения занял около 35 минут. Все настройки, которые были использованы, можно увидеть на скриншоте ниже.
Обучение модели с LoRA
После завершения обучения обученные LoRA-веса были загружены в Hugging Face Hub. По сути, было выполнено сохранение модели для дальнейшего использования.
Загрузка модели в репозиторий



















