Исходный размер 1750x2480

Обучение генеративной сети стилю художника tuukzs

Процесс обучения модели Stable Diffusion XL (SDXL) с использованием LoRA (Low-Rank Adaptation) для создания изображений в стиле цифрового художника Tuukzs.

Tuukzs, настоящее имя которого Артур Мачадо, — это талантливый бразильский художник, завоевавший признание благодаря своим вдохновляющим абстрактным и психоделическим произведениям.

big
Исходный размер 2844x900

Изображения художника, включенные в датасет

Изображения художника, включенные в датасет

Основные особенности стиля художника Tuukzs — это яркие цвета и абстрактность, соединённая с фигуративностью. В его работах исследуются темы абстракции и психоделии. Поэтому основной задачей было сохранить цветовую гамму в сочетании с размытыми образами.

big
Исходный размер 1500x500

Изображения, сгенерированные обученной моделью

Первое, что следует сделать, чтобы начать обучать модель, — это установить библиотеки: bitsandbytes, transformers, accelerate, peft — для эффективного обучения. diffusers — библиотека от Hugging Face для работы с диффузионными моделями. Загрузка скрипта train_dreambooth_lora_sdxl.py для обучения LoRA.

big
Исходный размер 2193x671

Изображения художника, включенные в датасет

Второе, подготовка данных: Собрав 50 изображений с сайта художника, создается папка ./tuukzs/, куда загружаются изображения. Изображения предпросматриваются в виде сетки.

Изображения художника, включенные в датасет

Третье, генерация подписей (капчей) к изображениям: Используется модель BLIP (Salesforce/blip-image-captioning-base) для автоматического описания загруженных изображений. К подписям добавляется префикс «photo collage in TUUKZS style,». Метаданные сохраняются в metadata.jsonl.

import requests from transformers import AutoProcessor, BlipForConditionalGeneration import torch

device = "cuda" if torch.cuda.is_available() else "cpu"

blip_processor = AutoProcessor.from_pretrained("Salesforce/blip-image-captioning-base") blip_model = BlipForConditionalGeneration.from_pretrained( "Salesforce/blip-image-captioning-base", torch_dtype=torch.float16 ).to(device)

Изображения, сгенерированные обученной моделью

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

Исходный размер 2685x1342

Изображение, сгенерированные обученной моделью

Исходный размер 2824x720

Изображения, сгенерированные обученной моделью

Четвертое, обучение LoRA: Запускается обучение с помощью train_dreambooth_lora_sdxl.py. Используется предобученная модель Stable Diffusion XL 1.0. Применяется 8-bit Adam для оптимизации памяти. Разрешение изображений — 512×512, batch size = 2, 500 шагов обучения. LoRA обучается для адаптации SDXL под стиль «TUUKZS».

Изображения, сгенерированные обученной моделью

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

Исходный размер 2824x720

Изображения, сгенерированные обученной моделью

Исходный размер 2685x1342

Изображение, сгенерированные обученной моделью

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

Исходный размер 1500x500

Изображения, сгенерированные обученной моделью

Изображения, сгенерированные обученной моделью

Пятое, сохранение и загрузка модели: Обученная LoRA сохраняется в папку tuukzs_style_LoRA. Модель загружается на Hugging Face Hub.

!ls tuukzs_style_LoRA from huggingface_hub import whoami from pathlib import Path output_dir = "tuukzs_style_LoRA" username = whoami(token=Path("/root/.cache/huggingface/"))["name"] repo_id = f"{username}/{output_dir}" from train_dreambooth_lora_sdxl import save_model_card from huggingface_hub import upload_folder, create_repo repo_id = create_repo(repo_id, exist_ok=True).repo_id

Исходный размер 2844x900

Изображения, сгенерированные обученной моделью

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

Изображения, сгенерированные обученной моделью

Исходный размер 2685x1342

Изображение, сгенерированные обученной моделью

Обучение генеративной сети стилю художника tuukzs
Проект создан 10.04.2025