Проект: Обучение Stable Diffusion для стиля «CHERKASHIN style»
- Описание идеи проекта
Цель проекта: обучить модель Stable Diffusion с использованием метода LoRA (Low-Rank Adaptation) для генерации изображений в специфическом художественном стиле — «photo collage in CHERKASHIN style».
Концепция стиля: — Смешанная техника: коллаж из фотографий с элементами живописи — Характерные мотивы: часы, башни, статуи, городские пейзажи, фигуры людей и птиц — Сюрреалистичная композиция с наложением слоёв — Винтажная эстетика с художественной обработкой
Технический подход:
— Метод: Dreambooth + LoRA для SDXL
— Уникальный токен: CHERKASHIN style
— Размер изображений: 512×512 (оптимизировано для Colab T4/P100)
— Precision: fp16 для экономии памяти
- Исходные изображения для обучения
Датасет: 20 изображений в формате JPG, квадратное соотношение 1:1
Датасет: 20 изображений в формате JPG, квадратное соотношение 1:1
исходные изображения были сгенерированы при помощи https://giga.chat/oidc-result?state=019d1f0e-7f9c-733a-8d96-a6da6b4356aa&code=046C54D1-7816-40E2-BAFB-A3C3435E6EEB
Процесс подготовки капций:
caption_prefix = «photo collage in CHERKASHIN style, "
BLIP генерирует описание: «a painting of a building with a clock on top»
Итоговая капция: «photo collage in CHERKASHIN style, a painting of a building with a clock on top»
- Результирующая серия изображений
Промпт для генерации:
«photo collage in CHERKASHIN style, times square, new york»
Параметры генерации: python pipe.load_lora_weights («cherakshin_style_LoRA») image = pipe ( prompt="photo collage in CHERKASHIN style, times square, new york», num_inference_steps=25, guidance_scale=7.5 # по умолчанию ).images[0]
- Развёрнутый комментарий к результатам
Что удалось передать:
Стилевые маркеры: — Префикс
CHERKASHIN styleуспешно активирует ассоциативный ряд модели — Сохраняется композиционная сложность, характерная для коллажей — Присутствуют элементы наложения и смешения техникВизуальные паттерны: — Архитектурные элементы (башни, часы, статуи) — Фигуративные мотивы (люди, птицы, ангелы) — Текстуры, имитирующие живописные мазки
Адаптивность к новым промптам: — Модель применяет стиль к новым объектам («times square, new york») — Сохраняется баланс между содержанием запроса и стилизацией
Технические детали генерации:
# Использование LoRA с масштабируемым влиянием
pipe.fuse_lora (lora_scale=0.5) # 0.0–1.0: контроль силы применения стиля
# Оптимизация памяти для Colab
vae = AutoencoderKL.from_pretrained («madebyollin/sdxl-vae-fp16-fix», torch_dtype=torch.float16)
pipe.to («cuda») # Загрузка на GPU
Сравнение с исходным датасетом: — Сохраняется общая эстетика коллажа — Присутствуют характерные мотивы (часы, статуи) — Некоторые генерации могут требовать доработки промпта для точности
5. Ноутбук с кодом: процесс обучения
Этап 1: Подготовка окружения
! pip install bitsandbytes transformers accelerate peft
! pip install git\+<a rel="noopener" href="https://github.com/huggingface/diffusers.git" data-target="blank" target="_blank">https://github.com/huggingface/diffusers.git</a>
! wget <a rel="noopener" href="https://raw.githubusercontent.com/huggingface/diffusers/main/examples/dreambooth/train_dreambooth_lora_sdxl.py" data-target="blank" target="_blank">https://raw.githubusercontent.com/huggingface/diffusers/main/examples/dreambooth/train_dreambooth_lora_sdxl.py</a>
Этап 2: Загрузка и подготовка датасета
Загрузка изображений в папку ./cher/
Генерация капций через BLIP
blip_model = BlipForConditionalGeneration.from_pretrained («Salesforce/blip-image-captioning-base»)
Создание metadata.jsonl
entry = {"file_name»: «img.jpg», «prompt»: «photo collage in CHERKASHIN style, „}
Этап 3: Конфигурация обучения
accelerate launch train_dreambooth_lora_sdxl.py \
--pretrained_model_name_or_path="stabilityai/stable-diffusion-xl-base-1.0» \
--dataset_name="cher» \
--output_dir="cherakshin_style_LoRA» \
--caption_column="prompt» \
--instance_prompt="photo collage in CHERKASHIN style» \
--resolution=512 \
--train_batch_size=2 \
--gradient_accumulation_steps=3 \
--learning_rate=1e-4 \
--max_train_steps=500 \
--mixed_precision="fp16» \
--use_8bit_adam \
--gradient_checkpointing
Этап 4: Сохранение и деплой
Сохранение LoRA-весов
Загрузка на Hugging Face Hub
upload_folder (repo_id=repo_id, folder_path=output_dir)




