Normalizare pe Loturi cu nn.BatchNorm2d și nn.BatchNorm1d în PyTorch & Deep Learning Practic

Sintaxă & invocare Python
bn = nn.BatchNorm2d(num_features=64)

Straturile de Batch Normalization (nn.BatchNorm2d pentru imagini, nn.BatchNorm1d pentru date tabulare și secvențe) reduc fenomenul de deviație internă a covarianței (Internal Covariate Shift), permițând rate de învățare considerabil mai ridicate.

Comportamentul stratului depinde critic de modul rețelei:

  • În modul model.train(): normalizează activările folosind media și varianța calculată pe lotul curent și actualizează mediile mobile (running mean / running var).
  • În modul model.eval(): îngheață statisticile și normalizează exclusiv folosind mediile mobile acumulate în timpul antrenării.
import torch
import torch.nn as nn

bn = nn.BatchNorm2d(num_features=32)
x = torch.randn(8, 32, 28, 28)

# Rulare în antrenare
bn.train()
out_train = bn(x)

# Comutare pe evaluare (inferență)
bn.eval()
out_eval = bn(x)
print("Normalizare finalizată pe evaluare.")

Omiterea apelului model.eval() la testare duce la fluctuații mari și erori imprevizibile dacă dimensiunea lotului este redusă.

Învață AI • Comunitate & Q&A

Întrebări & Exemple practice: Normalizare pe Loturi cu nn.BatchNorm2d și nn.BatchNorm1d

Ai o întrebare despre Normalizare pe Loturi cu nn.BatchNorm2d și nn.BatchNorm1d 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.