Исходный размер 577x769

Стиль Врубеля в генеративной нейросети

Рубрикатор

Рубрикатор проекта

1. Концепция проекта — Формулировка темы — Цели и задачи

2. Подготовка и обучение модели — Описание датасета — Подготовка модели к обучению — Обучение модели

3. Результаты генерации — Примеры изображений — Визуальный анализ результатов — Выводы

4. Ссылки

Концепция проекта

Формулировка темы

Генерация изображений в стиле Михаила Врубеля с помощью обученной модели Stable Diffusion.

Цель проекта

Исследовать, как генеративная нейросеть может воспроизводить особенности художественного стиля Врубеля.

Задачи проекта

— Собрать датасет из работ художника.

— Обучить модель на этом материале.

— Сгенерировать серию изображений.

— Проанализировать результат.

Подготовка и обучение модели

Описание датасета

Для обучения модели был собран датасет из 20 работ Михаила Врубеля. Изображения были отобраны с сайта artchive, все картины выполнены в технике масляной живописи. Все изображения приведены к квадратному формату (1:1) для соответствия требованиям модели генерации. Размеры изображений не нормировались, так как модель корректно обрабатывает разное разрешение.

Примеры изображений из датасета

Исходный размер 800x800

Шестикрылый серафим (Азраил), Михаил Врубель, 1904

Исходный размер 800x800

Сирень, Михаил Врубель, 1900

Исходный размер 792x792

Полет Фауста и Мефистофеля, Михаил Врубель, 1896

Исходный размер 800x800

Демон сидящий, Михаил Врубель, 1890

Исходный размер 800x800

Портрет Константина Дмитриевича Арцыбушева, Михаил Врубель, 1897

0

Остальные работы Михаила Врубеля, использованные для обучения модели.

Подготовка модели к обучению

Для начала была проверена доступность GPU. После чего были установлены библиотеки diffusers, accelerate, transformers, peft и bitsandbytes, а также скачан обучающий скрипт train_dreambooth_lora_sdxl.py из официального репозитория Hugging Face.

Исходный размер 1377x1121

Установка необходимых библиотек и скрипта обучения LoRA-модели

Далее в локальную папку Google Collab был загружен датасет. После чего были визуализированы несколько файлов оттуда, чтобы убедиться в корректном чтении перед запуском обучения.

Исходный размер 1719x812

Загрузка изображений в локальную папку и их проверка с помощью визуализации.

На этом этапе модель BLIP (Salesforce/blip-image-captioning-base) автоматически сгенерировала текстовые описания ко всем картинам из датасета.

Для каждого изображения из папки images был сформирован промпт по шаблону photo collage in VRUBEL style, + описание.

Исходный размер 1393x1157

Генерация описаний (captioning) с помощью BLIP и формирование обучающих промптов

Далее нужно было создать персональный токен (тип: Fine-grained) с необходимыми правами на сайте Hugging Face.

Исходный размер 1696x452

Создание персонального токена авторизации Hugging Face для загрузки и сохранения модели

Финальным этапом подготовки стало удаление модели BLIP для освобождения видеопамяти, установка корректной кодировка UTF-8 и авторизация через notebook_login (), что позволило получить доступ к предобученным моделям, а также опубликовать результат обучения на Hugging Face Hub.

Исходный размер 1392x702

Удаление BLIP для очистки памяти, установка кодировки UTF-8 и авторизация в Hugging Face

Обучение модели

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

Исходный размер 1350x1014

Обучение модели с LoRA

После завершения обучения обученные LoRA-веса были загружены в Hugging Face Hub. По сути, было выполнено сохранение модели для дальнейшего использования.

Исходный размер 1333x734

Загрузка модели в репозиторий

Стиль Врубеля в генеративной нейросети
Проект создан 10.04.2025
Мы используем файлы cookies для улучшения работы сайта и большего удобства его использования. Более подробную информац...
Показать больше