View a markdown version of this page

FLUX.2 Ottimizzazione e generazione di immagini Klein LoRa - Deadline Cloud

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

FLUX.2 Ottimizzazione e generazione di immagini Klein LoRa

Questo esempio dimostra come ottimizzare un modello di generazione di immagini FLUX.2 Klein utilizzando LoRa (Low-Rank Adaptation) e generare immagini su larga scala su Deadline Cloud. Il flusso di lavoro addestra un adattatore leggero a partire da un piccolo set di dati di immagini. Quindi utilizza quell'adattatore per generare nuove immagini a partire da istruzioni di testo, il tutto orchestrato come job di Deadline Cloud su una flotta di GPU.

Il codice sorgente di questo esempio è disponibile nel repository deadline-cloud-samples su. GitHub

Il video seguente mostra il flusso di lavoro di Klein LoRa su Deadline Cloud FLUX.2 .

Tempo stimato: 30-60 minuti (inclusi 15-45 minuti di allenamento).

Panoramica di

L'esempio è costituito da due pacchetti di lavoro:

  1. lora_training — Fine-tunes FLUX.2Klein sul tuo set di dati di immagini usando LoRa, producendo un file adattatore. .safetensors

  2. image_generation — Carica il modello base con l'adattatore addestrato e genera immagini da istruzioni di testo. Quando si generano più immagini, il lavoro viene parallelizzato tra i lavoratori.

LoRa è una tecnica di regolazione fine efficiente in termini di parametri che addestra un piccolo adattatore invece di modificare i pesi completi del modello. Questo approccio rende l'allenamento veloce (15-45 minuti su una singola GPU) e l'adattatore risultante è portatile e facile da utilizzare.

I job bundle utilizzano le librerie diffuser e left per l'addestramento e l'inferenza.

Per completare questo esempio, segui questi passaggi:

  1. Completare i prerequisiti .

  2. Preparare i dati di allenamento.

  3. Invia il lavoro di formazione.

  4. Invia il lavoro di generazione di immagini.

  5. Eliminare le risorse.

Prerequisiti

Prima di iniziare, assicurati di disporre di:

  • Una cloud farm Deadline con una flotta di GPU (GPU NVIDIA A10GLinux, 13 GB+ VRAM, 64 GiB+ memoria di sistema consigliata).

  • Una coda associata alla flotta di GPU.

  • La CLI Deadline Cloud installata sulla tua workstation.

  • 20-50 immagini di allenamento del soggetto (.jpg,,, .png o). .jpeg .webp

Struttura del Job bundle

flux2_klein_lora/ ├── lora_training/ │ ├── template.yaml # OpenJD job template │ └── train_lora.py # Training script └── image_generation/ ├── template.yaml # OpenJD job template └── generate_image.py # Inference script

Preparare i dati di formazione

Per preparare i dati di allenamento
  1. Crea una cartella contenente immagini del soggetto. Per ottenere risultati ottimali, usa 20-50 immagini con pose, luci e sfondi diversi.

  2. Facoltativamente, fornisci un file di .txt didascalie accanto a ciascuna immagine per una formazione più dettagliata:

    training_images/ ├── IMG_001.jpeg ├── IMG_001.txt # "a photo of ohwx dog sitting on grass" ├── IMG_002.jpeg ├── IMG_002.txt # "a photo of ohwx dog running on beach"

    Se non sono presenti file di didascalie, lo script di formazione li genera automaticamente utilizzando il parametro instance prompt. Le didascalie personalizzate producono risultati di qualità superiore perché insegnano al modello associazioni più specifiche tra la parola chiave e le caratteristiche visive.

  3. Scegliete una parola chiave univoca (ad esempio). ohwx Ciò lega il concetto appreso a un token che non è in conflitto con la conoscenza del modello esistente.

Invia il lavoro di formazione

Per inviare il lavoro di formazione
  1. Passa alla flux2_klein_lora directory del tuo repository clonato. deadline-cloud-samples

  2. Per inviare il lavoro di formazione con la GUI, esegui il seguente comando:

    deadline bundle gui-submit ./lora_training

    Oppure, per inviare il processo di formazione direttamente con la CLI, esegui il seguente comando:

    deadline bundle submit ./lora_training \ --queue-id gpu-queue-id \ --parameter DatasetPath=~/training_images \ --parameter InstancePrompt="a photo of ohwx dog" \ --parameter OutputDir=/tmp/lora_output \ --parameter MaxTrainSteps=1500 \ --parameter Resolution=512
  3. Monitora lo stato del lavoro nella console Deadline Cloud o utilizzando il deadline job get comando.

Parametri di allenamento

Parametri di allenamento
Parametro Description Predefinita
Versioni del modello flux.2-klein-base-4b o flux.2-klein-4b flux.2-klein-base-4b
Percorso del set di dati Directory contenente immagini di allenamento
Richiesta di istanza Testo che descrive l'argomento
Risoluzione Risoluzione dell'immagine di addestramento in pixel 512
Network Dim Rango LoRa (più alto = maggiore capacità) 16
Network Alpha Fattore di scala LoRa alpha 16
Numero massimo di fasi di allenamento Numero di iterazioni di allenamento 1500
Directory di output Dove salvare i pesi allenati

Output di addestramento

Il lavoro di formazione produce i seguenti artefatti:

  • flux2_klein_lora.safetensors— L'adattatore LoRa addestrato con metadati incorporati.

  • Checkpoint salvati ogni 300 passaggi.

Per scaricare l'output al termine dell'allenamento, esegui il seguente comando:

deadline job download-output \ --job-id training-job-id \ --queue-id gpu-queue-id

Inviate il processo di generazione dell'immagine

Per inviare il lavoro di generazione di immagini
  1. Vai alla flux2_klein_lora directory del tuo repository clonato. deadline-cloud-samples

  2. Per inviare il processo di generazione dell'immagine con la GUI, esegui il seguente comando:

    deadline bundle gui-submit ./image_generation

    Oppure, per inviare il processo di generazione dell'immagine direttamente con la CLI, esegui il seguente comando:

    deadline bundle submit ./image_generation \ --queue-id gpu-queue-id \ --parameter LoRAPath=/tmp/lora_output/flux2_klein_lora.safetensors \ --parameter Prompt="a photo of ohwx dog wearing a tuxedo" \ --parameter OutputDir=/tmp/generated_images \ --parameter NumImages=4
  3. Monitora lo stato del lavoro nella console Deadline Cloud o utilizzando il deadline job get comando.

Quando NumImages è maggiore di 1, Deadline Cloud distribuisce il lavoro tra più lavoratori per una generazione più rapida.

Parametri di generazione

Parametri di generazione
Parametro Description Predefinita
Percorso LoRa Percorso del file addestrato .safetensors
Prompt Descrizione testuale (includi la parola chiave)
Numero di immagini Immagini totali da generare 1
Larghezza Larghezza di uscita in pixel 1.024
Altezza Altezza di uscita in pixel 1.024
Fasi di inferenza Numero di passaggi di riduzione del rumore 50
Scala di orientamento Classifier-free scala di orientamento 4.0

Uscita di generazione

Le immagini vengono salvate come image_0001.pngimage_0002.png, e così via. Per scaricarle, esegui il seguente comando:

deadline job download-output \ --job-id generation-job-id \ --queue-id gpu-queue-id

Varianti del modello

FLUX.2 Varianti del modello Klein
Modello Parameters Ideale per
flux.2-klein-base-4b 4B Fine-tuning, uso commerciale
flux.2-klein-4b 4B Inferenza rapida (4 fasi di denoising)

Consigli per la formazione

I seguenti consigli possono aiutarti a ottenere i migliori risultati:

  • Dimensioni del set di dati: da 20 a 50 immagini di alta qualità funzionano bene per la maggior parte dei soggetti.

  • Risoluzione: usa 512 per GPU con 24 GB di VRAM. Le risoluzioni più elevate richiedono più memoria.

  • Fasi dell'allenamento: inizia con 1500. Aumenta se i risultati non assomigliano al soggetto.

  • Network dim — 16 è una buona impostazione predefinita. Usa 32 per concetti complessi o astratti.

  • Tasso di apprendimento: l'impostazione predefinita di 1e-4 funziona bene nella maggior parte dei casi.

Eliminazione

Per evitare addebiti continui, ripulisci le risorse che hai creato per questo esempio:

Per ripulire le risorse di esempio
  1. Nella console Deadline Cloud, interrompi o elimina la flotta di GPU che hai usato per questo esempio.

  2. Elimina qualsiasi oggetto Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3) creato dagli allegati del lavoro se non è più necessario.

  3. Rimuovi i file di output locali se non sono più necessari:

    rm -rf /tmp/lora_output /tmp/generated_images

Le seguenti risorse forniscono informazioni aggiuntive: