huggingface / huggingface/diffusers

Train_controlnet_sdxl.py and tensorboard log images

Offen
#11,470 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

bug stale
Vorherrschende Sprache
Python
Sterne
34.5k
Forks
7.3k
Ø Merge
3 T. 3 Std.
Gemergte PRs (30 T.)
91

Beschreibung

Describe the bug

When logging validation images on tensorboard, one tile is always created, even if there are several validation projects and images. I suggest making changes to the code:

for tracker in accelerator.trackers:
        if tracker.name == "tensorboard":
            i=0
            for log in image_logs:
                images = log["images"]
                validation_prompt = log["validation_prompt"]
                validation_image = log["validation_image"]

                formatted_images = [np.asarray(validation_image)]

                for image in images:
                    formatted_images.append(np.asarray(image))

                formatted_images = np.stack(formatted_images)

                tag = f"{validation_prompt}_{i}"
                tracker.writer.add_images(tag, formatted_images, step, dataformats="NHWC")
                i=i+1
            tracker.writer.flush()
        elif tracker.name == "wandb":
Reproduction

Start Train_controlnet_sdxl.py with params:

accelerate
launch
train_controlnet_sdxl_orig.py
--pretrained_model_name_or_path="model/stable-diffusion-xl-base-1.0"
--pretrained_vae_model_name_or_path="model/sdxl-vae-fp16-fix"
--output_dir="output"
--train_data_dir="fillsmall2"
--cache_dir="cachedir"
--mixed_precision="fp16"
--resolution=512
--learning_rate=1e-5
--max_train_steps=10000
--train_batch_size=1
--gradient_accumulation_steps=1
--max_grad_norm=1.0
--seed=42
--checkpointing_steps=1000
--enable_xformers_memory_efficient_attention
--use_8bit_adam
--report_to="tensorboard"
--lr_scheduler="constant_with_warmup"
--lr_warmup_steps=100
--logging_dir="logs"
--validation_image
"validation_images/1.png"
"validation_images/2.png"
"validation_images/3.png"
--validation_prompt
"red circle with blue background"
"green circle with brown background"
"blue circle with white background"
--validation_steps=10
--num_validation_images=2

Open http://localhost:6006/ (Tensorboard)

Logs

System Info

Diffusers version: 0.34.0.dev0
Torch version: 2.7.0+cu126
XFormers version: 0.0.30
Python version: 3.10.11
Windows 10

Who can help?

No response

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne in Train_controlnet_sdxl.py oder am im Reproduktionsbeispiel verwendeten Einstiegspunkt train_controlnet_sdxl_orig.py, und zwar beim im Issue gezeigten tensorboard-Tracker-Zweig. Führe den bereitgestellten accelerate launch-Befehl aus und untersuche die TensorBoard-Bildausgabe. Als erledigt gilt die Aufgabe, wenn separate Validierungs-Prompt- und Bildgruppen unterschiedliche protokollierte Kacheln erzeugen statt einer einzigen Kachel.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python, pytorch
Bereich
machine-learning, observability
Issue-Typ
Bug
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
48/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.