Идея Проекта
Cowboy Bebop — культовое аниме с уникальной стилистикой: неоновыми цветами, резкими тенями и кинематографичными композициями. Моей целью было создать кастомную нейросеть на базе Stable Diffusion, способную генерировать новые изображения в этом стиле. Для этого я обучил модель на 200+ скриншотах из аниме, используя метод Dreambooth LoRA.
Процесс разработки модели были основан на следующем
Сбор данных: создание датасета
Для успешного обучения нейросети важно подготовить качественный набор изображений. Я собрал более 200 скриншотов из Cowboy Bebop, чтобы модель смогла уловить стилистику аниме.
Исходные скришоты из серий аниме «Cowboy Bebop»
Перед обучением изображения были обработаны следующим образом:
Обрезаны c помощью собственной программы на Python до квадратного формата (1:1), чтобы лучше соответствовать требованиям модели.
Отфильтрованы по качеству, удалены кадры с искажениями или плохой прорисовкой.
Скриншоты из «Cowboy Bebop»
Подготовка модели и загрузка изображений
Для обучения я использовал метод Dreambooth с LoRA-адаптацией, который позволяет эффективно дообучать модель с меньшим количеством VRAM.
Первый шаг, загрузить в Google Colab этот инструментарий.
Далее, программа загружает изображения из папки и подготавливает их для обучения.
В моей ситуации, фотки напрямую были загружены вручную на Google Colab
Создание метаданных для обучения
Stable Diffusion требует, чтобы каждое изображение сопровождалось описанием (caption), которое помогает модели понимать его стиль. Для этого создаётся специальный файл metadata.jsonl:
Что здесь происходит:
Каждое изображение получает текстовое описание, объединяющее caption_prefix и автоматически сгенерированную подпись.
Эти данные записываются в metadata.jsonl в формате JSON.
Файл будет использоваться при обучении, чтобы сопоставить изображения с текстами и обучить нейросеть правильно понимать стиль Cowboy Bebop.
Подключение к HuggingFace
Для доступа к моделям и датасетам на платформе Hugging Face я использовал функцию notebook_login(). Это позволило авторизоваться в Hugging Face Hub и загрузить необходимые ресурсы для обучения с помощью сгенерирванного API ключа.
Обучение Модели
Использование Dreambooth LoRA для кастомного стиля:
Здесь модель обучается на изображениях из папки /content/Photos, используя базовую Stable Diffusion XL.
Самые важные параметры: --pretrained_model_name_or_path: Указывает базовую модель (Stable Diffusion XL 1.0).
--dataset_name: Путь к датасету с изображениями для обучения.
--instance_prompt: Описание стиля/объекта, который должна генерировать модель.
--learning_rate: Скорость обучения (1e-4).
--max_train_steps: Общее количество шагов обучения (500).
Загрузка обученной модели
Этот код получает имя пользователя с HuggingFace, используя сохранённый токен, и формирует ID репозитория, куда будет загружена модель.
А здесь уже происходит загрузка модели на HUB в HuggingFace. Это последний шаг перед использованием обученной модели.
Инициализация и использование модели




