huggingface / huggingface/diffusers

Flux1-Dev inference with single file ComfyUI/SD-Forge Safetensors

Offen
#12,669 14 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

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

Beschreibung

Is it possible to run inference with diffusers using a single-file safetensors created for ComfyUI/SD-Forge?

It looks like FluxPipeline.from_single_file() might be intended for this purpose, but I'm getting the following errors:

import torch
from diffusers import FluxPipeline

pipe = FluxPipeline.from_single_file("./flux1-dev-fp8.safetensors", torch_dtype=torch.float8_e4m3fn, use_safetensors=True)
Traceback (most recent call last):
  File "/home/user/flux/imgen.py", line 9, in <module>
    pipe = FluxPipeline.from_single_file("./flux1-dev-fp8.safetensors", torch_dtype=torch.float8_e4m3fn, use_safetensors=True)
  File "/home/user/.local/lib/python3.13/site-packages/huggingface_hub/utils/_validators.py", line 114, in _inner_fn
    return fn(*args, **kwargs)
  File "/home/user/.local/lib/python3.13/site-packages/diffusers/loaders/single_file.py", line 509, in from_single_file
    loaded_sub_model = load_single_file_sub_model(
        library_name=library_name,
    ...<11 lines>...
        **kwargs,
    )
  File "/home/user/.local/lib/python3.13/site-packages/diffusers/loaders/single_file.py", line 127, in load_single_file_sub_model
    loaded_sub_model = create_diffusers_t5_model_from_checkpoint(
        class_obj,
    ...<4 lines>...
        local_files_only=local_files_only,
    )
  File "/home/user/.local/lib/python3.13/site-packages/diffusers/loaders/single_file_utils.py", line 2156, in create_diffusers_t5_model_from_checkpoint
    model.load_state_dict(diffusers_format_checkpoint)
    ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/user/.local/lib/python3.13/site-packages/torch/nn/modules/module.py", line 2641, in load_state_dict
    raise RuntimeError(
    ...<3 lines>...
    )
RuntimeError: Error(s) in loading state_dict for T5EncoderModel:
	Missing key(s) in state_dict: "encoder.embed_tokens.weight". 

I checked the safetensors file and the T5 encoder is present. However, it is named differently, which confuses diffusers.

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

Beginnen Sie mit FluxPipeline.from_single_file in diffusers/loaders/single_file.py und der T5-Konvertierungslogik in diffusers/loaders/single_file_utils.py. Vergleichen Sie die im Issue beschriebene Benennung der safetensors-T5-Schlüssel mit den von T5EncoderModel erwarteten Schlüsseln; fertig ist die Aufgabe, wenn der gemeldete Single-File-Flux1-Dev-Checkpoint ohne den Fehler missing encoder.embed_tokens.weight geladen wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

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

Neue Issues direkt in Ihr Postfach

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