Manipularea Dimensiunilor: squeeze, unsqueeze și flatten în PyTorch & Deep Learning Practic

Sintaxă & invocare Python
t.squeeze(dim=1) / t.unsqueeze(dim=0)

Frecvent, datele extrase dintr-un set de date sau dintr-un strat convoluțional necesită ajustarea numărului de axe pentru a respecta cerințele de batching ale rețelei (de exemplu, transformarea unei imagini individuale (3, 224, 224) într-un lot de 1 imagine (1, 3, 224, 224)).

import torch

t = torch.randn(3, 224, 224)

# unsqueeze(0): adaugă o dimensiune de batch la început -> (1, 3, 224, 224)
t_batch = t.unsqueeze(0)
print("După unsqueeze:", t_batch.shape)

# squeeze(): elimină toate dimensiunile egale cu 1 -> (3, 224, 224)
t_restored = t_batch.squeeze(0)

# flatten(start_dim=1): aplatizează canalele și spațiul -> (1, 3*224*224)
t_flat = torch.flatten(t_batch, start_dim=1)
print("După flatten:", t_flat.shape)

Aceste operații returnează o nouă vizualizare (view) a tensorului fără a copia elementele fizice din memorie.

Învață AI • Comunitate & Q&A

Întrebări & Exemple practice: Manipularea Dimensiunilor: squeeze, unsqueeze și flatten

Ai o întrebare despre Manipularea Dimensiunilor: squeeze, unsqueeze și flatten sau ai descoperit un truc, prompt sau fragment de cod util? Distribuie-l cu ceilalți membri ai comunității!

🤖

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau resurse pentru această pagină. Dacă ai testat un prompt sau ai un snippet util, adaugă-l mai jos pentru comunitate.

Comunitate AI Adaugă o întrebare sau distribuie un cod / prompt

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.