Исходный размер 1080x1580

Обучение генеративной нейросети

Проект принимает участие в конкурсе

Описание

Обучение проводилось на датасете из 21 фотографии моего черного кота, предварительно обработанных до единого формата и разрешения. В результате настройки модель приобрела способность воспроизводить уникальные черты питомца (форму морды, окрас, характерные позы) в различных сценариях генерации.

исходные изображения для обучения

Результирующая серия изображений

В итоговой серии представлены сгенерированные изображения кота в различных сценариях. Модель успешно передала уникальные черты питомца — округлую форму морды, характерный разрез желтых глаз, гладкую текстуру черной шерсти с легкими бликами, а также его типичные позы. Благодаря регуляризации и LoRA модель сохранила способность генерировать разнообразные фоны и ракурсы, при этом ни один из сценариев не повторял исходные обучающие фотографии. Изображения отличаются по освещению, композиции, стилю и эмоциональной окраске. Результаты полностью соответствуют первоначальной идее персонализации — нейросеть научилась узнавать конкретного кота и воспроизводить его образ в любых сценариях.

генерации обученной нейросети

генерации обученной нейросети

генерации обученной нейросети

генерации обученной нейросети

1. Подготовка окружения

Монтируется Google Drive для доступа к датасету и сохранения результатов.

Очищается память GPU, настраиваются переменные окружения для оптимизации работы CUDA.

Устанавливаются необходимые библиотеки: diffusers, peft, bitsandbytes, xformers и другие.

2. Загрузка и подготовка датасета

Датасет находится в папке cat_photos в Google Drive.

Для каждого изображения автоматически создается текстовый файл с описанием (caption). Caption задаются вручную и повторяются циклически для всех изображений.

Исходный размер 1144x570

3. Параметры обучения

Используется модель Stable Diffusion 1.5.

Разрешение изображений: 512×512.

Размер батча: 1, градиентная аккумуляция: 2 (эффективный батч = 2).

Количество шагов обучения: 500.

Ранг LoRA: 8, скорость обучения: 1e-4.

Исходный размер 1158x1370

4. Загрузка модели и настройка LoRA

Модель загружается в формате float16 для экономии памяти.

Включается xformers для оптимизации внимания.

К U-Net применяется LoRA: целевые модули — to_q, to_v, to_k (слои внимания).

Исходный размер 1094x696

5. Подготовка датасета с предварительным кодированием

Изображения преобразуются в тензоры и кодируются в латентное пространство с помощью VAE (4 канала, размер 64×64 для изображений 512×512).

Caption токенизируются через CLIP токенизатор.

Все данные возвращаются в виде латентов и токенов, что ускоряет обучение.

6. Цикл обучения

На каждом шаге:

К латентам добавляется шум (noise) согласно расписанию шумов DDPMScheduler.

Получаются текстовые эмбеддинги через text encoder (без градиентов).

U-Net предсказывает добавленный шум.

Считается MSE-лосс между предсказанным и реальным шумом.

Градиенты накапливаются, затем обновляются веса LoRA.

Каждые 50 шагов выводится текущий лосс и использование памяти GPU.

7. Сохранение модели

После завершения обучения LoRA-веса сохраняются локально и архивируются.

Архив копируется в Google Drive.

Исходный размер 1224x488

8. Генерация изображений с использованием обученной LoRA

Модель перезагружается, LoRA применяется к U-Net.

Генерируется 10 изображений по разным промптам (от реалистичных до фэнтези).

Результаты сохраняются и визуализируются в виде галереи.

9. Экспорт результатов

Все сгенерированные изображения архивируются и сохраняются в Google Drive.

Исходный размер 1416x276

Ссылка на код

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

DeepSeek-V3 — генерация идей, поиск ошибок в коде

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