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.
Întrebări & Exemple practice:
Manipularea Dimensiunilor: squeeze, unsqueeze și flattenAi 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.