În timpul antrenării rețelelor adânci sau a transformatoarelor, anumiți pași de optimizare pot genera gradiente uriașe (Gradient Exploding) ce destabilizează greutățile și duc la valori NaN. Tehnica Gradient Clipping scalează proporțional toate gradientele dacă norma lor combinată depășește un prag critic:
import torch
import torch.nn.utils as utils
loss.backward()
# Trunchierea gradientelor la norma maximă de 1.0
total_norm = utils.clip_grad_norm_(model.parameters(), max_norm=1.0)
if torch.isnan(total_norm) or torch.isinf(total_norm):
print("Avertisment: Gradient explodat detectat!")
else:
optimizer.step()
optimizer.zero_grad()
Apelul clip_grad_norm_ trebuie plasat obligatoriu după loss.backward() și înainte de optimizer.step().
Întrebări & Exemple practice:
Prevenirea Gradient Exploding cu torch.nn.utils.clip_grad_norm_Ai o întrebare despre Prevenirea Gradient Exploding cu torch.nn.utils.clip_grad_norm_ 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.