NVIDIAModelOptConfig.to_dict() crashes from_pretrained/save_pretrained when forward_loop is set
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 70/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Área
- backend, machine-learning
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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)
- Lenguaje dominante
- Python
- Estrellas
- 34.8k
- Forks
- 7.4k
- Merge medio
- 2 d 6 h
- PR fusionados (30 d)
- 54
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de huggingface/diffusers
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
huggingface/diffusers#15125 ·
Los mantenedores suelen responder en 1 día
-
`encode_video` truncates a fractional `fps`, so the video runs longer than its audioPosiblemente ocupada @guptaishaan la tomó hace 3 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
huggingface/diffusers#15104 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
VaeImageProcessor.denormalize() raises AttributeError for NumPy inputsPosiblemente ocupada @tonycoder-hub la tomó hace 13 días. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
huggingface/diffusers#15011 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
`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`)Posiblemente ocupada @Subodh-17 la tomó hace 19 días. Abiertobug models
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
huggingface/diffusers#14952 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
UniPCMultistepScheduler fails in torch.linalg.solve under a float64 default dtype: the unit entry of rks takes the default dtypePosiblemente ocupada @deep1blue la tomó hace 6 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
huggingface/diffusers#14888 ·
Los mantenedores suelen responder en 1 día
Todos los issues de huggingface/diffusers
Issues similares
-
The changelog workflow excludes otelbot but not dependabot, so every Dependabot pull request fails the changelog checkPosiblemente ocupada @ocelotl la tomó hoy. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
open-telemetry/opentelemetry-python#5825 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
cuga-project/cuga-agent#1020 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 70/100
microsoft/playwright#43640 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
stac-utils/stac-fastapi-elasticsearch-opensearch#965 ·
Los mantenedores suelen responder en 2 días
-
from-review-extraction library privacy python severity:suggested
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
LearningCircuit/local-deep-research#7951 ·
Los mantenedores suelen responder en 2 días