Original size 2480x3500

Обучение генеративной нейросети под художественный стиль Cowboy Bebop

PROTECT STATUS: not protected

Идея Проекта

Cowboy Bebop — культовое аниме с уникальной стилистикой: неоновыми цветами, резкими тенями и кинематографичными композициями. Моей целью было создать кастомную нейросеть на базе Stable Diffusion, способную генерировать новые изображения в этом стиле. Для этого я обучил модель на 200+ скриншотах из аниме, используя метод Dreambooth LoRA.

Процесс разработки модели были основан на следующем

РУКОВОДСТВЕ

Сбор данных: создание датасета

Для успешного обучения нейросети важно подготовить качественный набор изображений. Я собрал более 200 скриншотов из Cowboy Bebop, чтобы модель смогла уловить стилистику аниме.

big
Original size 2560x512

Исходные скришоты из серий аниме «Cowboy Bebop»

Перед обучением изображения были обработаны следующим образом:

Обрезаны c помощью собственной программы на Python до квадратного формата (1:1), чтобы лучше соответствовать требованиям модели.

Отфильтрованы по качеству, удалены кадры с искажениями или плохой прорисовкой.

big
Original size 1280x1280

Скриншоты из «Cowboy Bebop»

Подготовка модели и загрузка изображений

Для обучения я использовал метод Dreambooth с LoRA-адаптацией, который позволяет эффективно дообучать модель с меньшим количеством VRAM.

Первый шаг, загрузить в Google Colab этот инструментарий.

Далее, программа загружает изображения из папки и подготавливает их для обучения.

Original size 1137x201

В моей ситуации, фотки напрямую были загружены вручную на Google Colab

Original size 1165x418

Создание метаданных для обучения

Stable Diffusion требует, чтобы каждое изображение сопровождалось описанием (caption), которое помогает модели понимать его стиль. Для этого создаётся специальный файл metadata.jsonl:

Original size 707x360

Что здесь происходит:

Каждое изображение получает текстовое описание, объединяющее caption_prefix и автоматически сгенерированную подпись.

Эти данные записываются в metadata.jsonl в формате JSON.

Файл будет использоваться при обучении, чтобы сопоставить изображения с текстами и обучить нейросеть правильно понимать стиль Cowboy Bebop.

Подключение к HuggingFace

Для доступа к моделям и датасетам на платформе Hugging Face я использовал функцию notebook_login (). Это позволило авторизоваться в Hugging Face Hub и загрузить необходимые ресурсы для обучения с помощью сгенерирванного API ключа.

Original size 875x488

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

Использование Dreambooth LoRA для кастомного стиля:

Здесь модель обучается на изображениях из папки /content/Photos, используя базовую Stable Diffusion XL.

Original size 1030x502

Самые важные параметры: --pretrained_model_name_or_path: Указывает базовую модель (Stable Diffusion XL 1.0).

--dataset_name: Путь к датасету с изображениями для обучения.

--instance_prompt: Описание стиля/объекта, который должна генерировать модель.

--learning_rate: Скорость обучения (1e-4).

--max_train_steps: Общее количество шагов обучения (500).

Загрузка обученной модели

Этот код получает имя пользователя с HuggingFace, используя сохранённый токен, и формирует ID репозитория, куда будет загружена модель.

Original size 988x266

А здесь уже происходит загрузка модели на HUB в HuggingFace. Это последний шаг перед использованием обученной модели.

Original size 943x649

Инициализация и использование модели

Обучение генеративной нейросети под художественный стиль Cowboy Bebop
Project created at 10.03.2025