UNet2DModel dtype property fails under nn.DataParallel with UnboundLocalError in get_parameter_dtype
I maintainer di solito rispondono entro 1 giorno
@Om-singhaI ci sta già lavorando.
Dal 24/8/2026.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 74/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Tranquilla
- Ambito
- machine-learning
Direzione di ricerca
Inizia in diffusers/models/modeling_utils.py da get_parameter_dtype e dalla relativa annotazione find_tensor_attributes, quindi segui l’accesso a self.dtype da diffusers/models/unets/unet_2d.py. Riproduci il malfunzionamento con l’esempio fornito di UNet2DModel e torch.nn.DataParallel, quindi aggiungi o esegui un controllo di regressione che mostri che il forward pass viene completato senza UnboundLocalError.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe the bug
Description
UNet2DModel fails under torch.nn.DataParallel during the forward pass when it accesses self.dtype inside UNet2DModel.forward.
The error appears to come from diffusers.models.modeling_utils.get_parameter_dtype, where the nested function annotation uses tuple:
def find_tensor_attributes(module: nn.Module) -> list[tuple[str, Tensor]]:
### Reproduction
import torch
from diffusers import UNet2DModel
print("torch:", torch.__version__)
import diffusers
print("diffusers:", diffusers.__version__)
model = UNet2DModel(
sample_size=128,
in_channels=10,
out_channels=5,
layers_per_block=2,
block_out_channels=(64, 128, 256, 256),
down_block_types=(
"DownBlock2D",
"DownBlock2D",
"AttnDownBlock2D",
"DownBlock2D",
),
up_block_types=(
"UpBlock2D",
"AttnUpBlock2D",
"UpBlock2D",
"UpBlock2D",
),
norm_num_groups=8,
)
model = model.cuda()
model = torch.nn.DataParallel(model, device_ids=[0, 1])
model.eval()
x = torch.randn(8, 10, 128, 128, device="cuda")
t = torch.rand(8, device="cuda") * 1000
with torch.no_grad():
y = model(x, t, return_dict=False)[0]
print(y.shape)
### Logs
```shell
File ".../diffusers/models/unets/unet_2d.py", line ..., in forward
t_emb = t_emb.to(dtype=self.dtype)
File ".../diffusers/models/modeling_utils.py", line ..., in dtype
return get_parameter_dtype(self)
File ".../diffusers/models/modeling_utils.py", line ..., in get_parameter_dtype
def find_tensor_attributes(module: nn.Module) -> list[tuple[str, Tensor]]:
UnboundLocalError: cannot access local variable 'tuple' where it is not associated with a value
System Info
Python 3.11.13, torch 2.9.1+cu128, diffusers 0.38.0, CUDA Version: 12.9
Who can help?
No response
- Lingua principale
- Python
- Stelle
- 34.6k
- Fork
- 7.4k
- Merge medio
- 4g 17h
- PR unite (30g)
- 45
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
-
UniPCMultistepScheduler fails in torch.linalg.solve under a float64 default dtype: the unit entry of rks takes the default dtypeForse già presa @DawnofGenX l’ha presa 4 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
-
WanAnimatePipeline.get_i2v_mask() defaults device to "cuda", which raises on non-CUDA accelerators (NPU/XPU/MPS)Forse già presa @li-lizhe l’ha presa 7 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
huggingface/diffusers#14881 ·
I maintainer di solito rispondono entro 1 giorno
-
IndexError when preprocessing an empty image or video listForse già presa @MohammadHijjawi97 l’ha presa 12 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
huggingface/diffusers#14864 ·
I maintainer di solito rispondono entro 1 giorno
-
Windows: check_ai.py fails decoding UTF-8 guides with the default localeForse già presa @tanvir-ux l’ha presa 11 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
huggingface/diffusers#14837 ·
I maintainer di solito rispondono entro 1 giorno
-
TangentialClassifierFreeGuidance.is_conditional reads an attribute that does not existForse già presa @dafahaha l’ha presa 17 giorni fa. Apertabug needs-env-info pipelines
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
huggingface/diffusers#14794 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di huggingface/diffusers
Issue simili
-
Action calls retired claude-3-5-haiku-20241022, generating failing API requests for every userAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 91/100
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 92/100
-
enhancement P2
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
Toloka/tolokaforge#1776 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
TencentCloud/Octop#1622 ·
I maintainer di solito rispondono entro 1 giorno
-
[arch] gate_sync.sh: stale remote tmp files on install failure; overlapping cron runs unguardedApertaarch area:fleet priority:p3 severity:low track:hosted-product
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno