Division by zero in rescale_noise_cfg can produce NaNs during inference
Les mainteneurs répondent en général sous 1 jour
@Akash504-ai y travaille déjà.
Depuis le 6/4/2026.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 68/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- Calme
- Domaine
- machine-learning
Piste de recherche
Localisez le point d’entrée rescale_noise_cfg dans le code source de Diffusers et exécutez la reproduction PyTorch fournie avec un noise_cfg de variance nulle. Suivez le traitement existant de std_cfg et ajoutez une couverture pour ce cas limite. C’est terminé lorsque le chemin de variance nulle ne produit plus de valeurs NaN ou infinies pendant l’inférence.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Describe the bug
Bug: Division by zero in rescale_noise_cfg can produce NaNs
Description
The function rescale_noise_cfg performs a division by std_cfg without any numerical stability guard:
noise_pred_rescaled = noise_cfg * (std_text / std_cfg)
If std_cfg becomes zero, this leads to NaN or inf values, which can silently corrupt the diffusion process and produce invalid outputs.
This can happen in edge cases where noise_cfg has zero variance.
Reproduction
import torch
noise_cfg = torch.zeros(1, 4, 64, 64) # std = 0
noise_pred_text = torch.randn_like(noise_cfg)
std_text = noise_pred_text.std(dim=list(range(1, noise_pred_text.ndim)), keepdim=True)
std_cfg = noise_cfg.std(dim=list(range(1, noise_cfg.ndim)), keepdim=True)
result = noise_cfg * (std_text / std_cfg)
print(result)
Logs
System Info
- Diffusers: main
- PyTorch: any
- OS: any
Who can help?
No response
- Langage dominant
- Python
- Étoiles
- 34.8k
- Forks
- 7.4k
- Merge moyen
- 2 j 12 h
- PR mergées (30 j)
- 55
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de huggingface/diffusers
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 78/100
huggingface/diffusers#15170 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
huggingface/diffusers#15163 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Clarify set_adapters() adapter_weights documentation and type hintsPeut-être pris @gorkadabo1 l’a pris il y a 3 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
huggingface/diffusers#15146 · 1 commentaire · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
`encode_video` truncates a fractional `fps`, so the video runs longer than its audioPeut-être pris @guptaishaan l’a pris il y a 11 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 83/100
huggingface/diffusers#15104 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
VaeImageProcessor.denormalize() raises AttributeError for NumPy inputsPeut-être pris @tonycoder-hub l’a pris il y a 22 jours. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
huggingface/diffusers#15011 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de huggingface/diffusers
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
enhancement good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
elviskahoro/sdk-python-attio#144 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
RenyiELBO raises TypeError when model has no sample sitesPeut-être pris @alibb007 l’a pris aujourd’hui. Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
Les mainteneurs répondent en général sous 1 jour