Original size 1750x2480

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

PROTECT STATUS: not protected
8

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

big
Original size 2844x900

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

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

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

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

big
Original size 1500x500

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

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

big
Original size 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.

Original size 2685x1342

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

Original size 2824x720

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

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

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

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

Original size 2824x720

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

Original size 2685x1342

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

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

Original size 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

Original size 2844x900

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

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

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

Original size 2685x1342

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

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

Шестое, генерация изображений: В конце загружается обученная LoRA и применяется к SDXL для генерации изображений в стиле «TUUKZS».

import torch from diffusers import DiffusionPipeline, AutoencoderKL

vae = AutoencoderKL.from_pretrained("madebyollin/sdxl-vae-fp16-fix", torch_dtype=torch.float16) pipe = DiffusionPipeline.from_pretrained( "stabilityai/stable-diffusion-xl-base-1.0", vae=vae, torch_dtype=torch.float16, variant="fp16", use_safetensors=True ) pipe.load_lora_weights(repo_id) _ = pipe.to("cuda")

Original size 2685x1342

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

Original size 2829x720

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

Original size 2685x1342

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

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

Original size 2685x1342

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

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

Original size 2824x720

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

Original size 2685x1342

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

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

Original size 1500x500

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

Использованные нейросетевые инструменты и модели:

Stable Diffusion — генерация изображений BLIP — генерация описаний для изображений в датасете Hugging Face — сохранение обученной LoRA-модели AirBrush — улучшение качества изображений художника Tuukzs

Обучение генеративной сети стилю художника tuukzs
8
We use cookies to improve the operation of the HSE website and to enhance its usability. More detailed information on the use of cookies can be fou...
Show more