NVIDIAModelOptConfig.to_dict() crashes from_pretrained/save_pretrained when forward_loop is set
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 70/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Ambito
- backend, machine-learning
Direzione di ricerca
Read NVIDIAModelOptConfig in src/diffusers/quantizers/quantization_config.py and the telemetry serialization call in src/diffusers/models/modeling_utils.py. Use the reproduction to check how to_dict() handles forward_loop, then verify that json.dumps(config.to_dict()) succeeds and from_pretrained/save_pretrained no longer fail when a forward loop is set.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe the bug
forward_loop is a documented NVIDIAModelOptConfig constructor parameter. NVIDIAModelOptConfig has no to_dict() override, so it inherits QuantizationConfigMixin.to_dict(), which returns copy.deepcopy(self.__dict__) — including the raw forward_loop callable.
src/diffusers/models/modeling_utils.py calls json.dumps(hf_quantizer.quantization_config.to_dict(), sort_keys=True) for telemetry during from_pretrained, with no error handling around it. Any model loaded (or saved) with a NVIDIAModelOptConfig(forward_loop=...) crashes with TypeError: Object of type function is not JSON serializable.
Reproduction
import json
from diffusers.quantizers.quantization_config import NVIDIAModelOptConfig
config = NVIDIAModelOptConfig(
quant_type="FP8",
forward_loop=lambda model: model,
modelopt_config={"quant_cfg": {}},
)
json.dumps(config.to_dict())
Logs
Traceback (most recent call last):
File "<string>", line 1, in <module>
TypeError: Object of type function is not JSON serializable
This is the same call modeling_utils.py makes internally during from_pretrained:
File ".../diffusers/src/diffusers/models/modeling_utils.py", line 1206, in from_pretrained
serialized_quant_config = json.dumps(hf_quantizer.quantization_config.to_dict(), sort_keys=True)
TypeError: Object of type function is not JSON serializable
System Info
diffusers@main, commitaaf57d0- Python 3.12, Linux
Who can help?
(leaving blank — no specific quantization reviewer listed in the template's tag guide)
- Lingua principale
- Python
- Stelle
- 34.8k
- Fork
- 7.4k
- Merge medio
- 2g 20h
- PR unite (30g)
- 56
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di huggingface/diffusers
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
huggingface/diffusers#15125 ·
I maintainer di solito rispondono entro 1 giorno
-
`encode_video` truncates a fractional `fps`, so the video runs longer than its audioForse già presa @guptaishaan l’ha presa 3 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
huggingface/diffusers#15104 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
VaeImageProcessor.denormalize() raises AttributeError for NumPy inputsForse già presa @tonycoder-hub l’ha presa 13 giorni fa. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
huggingface/diffusers#15011 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
`ModelMixin.from_pretrained` on a sharded checkpoint fails under `HF_HUB_OFFLINE=1` even when fully cached (`_get_checkpoint_shard_files` still calls `model_info`)Forse già presa @Subodh-17 l’ha presa 19 giorni fa. Apertabug models
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
huggingface/diffusers#14952 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
UniPCMultistepScheduler fails in torch.linalg.solve under a float64 default dtype: the unit entry of rks takes the default dtypeForse già presa @deep1blue l’ha presa 6 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
huggingface/diffusers#14888 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di huggingface/diffusers
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
GoogleCloudPlatform/gce-rescue#195 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
I maintainer di solito rispondono entro 1 giorno
-
intake mcp-intake needs-ac needs-human-review priority:medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
Ikalus1988/MisakaNet#3848 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 75/100
521xueweihan/HelloGitHub#4105 ·
-
bug size:XS
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
I maintainer di solito rispondono entro 1 giorno