Cum se calculează gradientul nescalat al unui tensor în PyTorch?

Cum Se Calculeaza Gradientul Nescalat Al Unui Tensor In Pytorch



Intrările individuale de date sunt stocate sub forma „ Tensori ” în PyTorch și ” gradiente ” de tensori sunt calculate folosind propagarea înapoi în bucla de antrenament a unui model de învățare profundă. Termenul ' nescalate ” înseamnă că datele sunt brute și nu este implicată nicio preprocesare sau optimizare. Gradientul nescalat al unui Tensor oferă valoarea adevărată a modificării despre funcția de pierdere specificată.

În acest blog, vom discuta cum să calculăm gradientul nescalat al unui Tensor în PyTorch.







Ce este un gradient nescalat al unui tensor în PyTorch?

Tensorii sunt matrice multidimensionale care conțin date și pot rula pe GPU-uri în PyTorch. Tensorii care conțin date brute din setul de date fără nicio preprocesare, transformări sau optimizări se numesc tensori nescalați. Cu toate acestea, un „ Gradient nescalat ” este diferit de un tensor nescalat și trebuie avut grijă să nu le confundăm pe cele două. Un gradient nescalat al unui tensor este calculat în raport cu funcția de pierdere selectată și nu are alte optimizări sau scalare.



Cum se calculează gradientul nescalat al unui tensor în PyTorch?

Gradientul nescalat al unui Tensor este valoarea reală a ratei de modificare a datelor de intrare referitoare la funcția de pierdere selectată. Datele brute de gradient sunt importante pentru a înțelege comportamentul modelului și progresia acestuia în timpul buclei de antrenament.



Urmați pașii de mai jos pentru a afla cum să calculați gradientul nescalat al unui tensor în PyTorch:





Pasul 1: Începeți proiectul prin configurarea IDE-ului

Google Colaboratory IDE este una dintre cele mai bune alegeri pentru dezvoltarea proiectelor PyTorch, deoarece oferă acces gratuit la GPU-uri pentru o procesare mai rapidă. Du-te la Colab site-ul web și faceți clic pe „ Notebook nou ” opțiune pentru a începe lucrul:



Pasul 2: importați biblioteca Essential Torch

Toate funcționalitățile cadrului PyTorch sunt conținute în „ Torță ” bibliotecă. Fiecare proiect PyTorch începe prin instalarea și importul acestei biblioteci:

!pip instalează lanternă

torță de import

Codul de mai sus funcționează după cum urmează:

  • „! pip ” este un pachet de instalare pentru Python folosit pentru a instala biblioteci în proiecte.
  • import ” este folosită pentru a apela bibliotecile instalate în proiect.
  • Acest proiect are nevoie doar de funcționalitatea „ torță ” biblioteca:

Pasul 3: Definiți un tensor PyTorch cu gradient

Folosește ' torță.tensor ()” metoda de definire a unui tensor cu gradient „ requires_grad=Adevărat ” metoda:

A = torch.tensor([5.0], requires_grad=True)

Pasul 4: Definiți o funcție de pierdere simplă

O funcție de pierdere este definită folosind o ecuație aritmetică simplă, așa cum se arată:

loss_function = A*5

Pasul 5: Calculați gradientul și imprimați la ieșire

Folosește ' înapoi ()” pentru a calcula gradientul nescalat, după cum se arată:

loss_function.backward()

unscaled_grad = A.grad

print('Gradient nescalat al tensorului PyTorch: ', unscaled_grad)

Codul de mai sus funcționează după cum urmează:

  • Folosește ' înapoi ()” pentru a calcula gradientul nescalat prin propagare înapoi.
  • Atribuiți „ A.grad „la „ unscaled_grad ' variabil.
  • În cele din urmă, folosiți „ imprimare ()” metodă pentru a prezenta rezultatul gradientului nescalat:

Notă : Puteți accesa caietul nostru Colab aici legătură .

Pro-Tip

Gradientul nescalat al tensoarelor poate arăta relația exactă a datelor de intrare cu funcția de pierdere pentru o rețea neuronală în cadrul PyTorch. Gradientul brut needitat arată modul în care ambele valori sunt legate sistematic.

Succes! Tocmai am arătat cum să calculăm gradientul nescalat al unui tensor în PyTorch.

Concluzie

Calculați gradientul nescalat al unui tensor în PyTorch definind mai întâi tensorul și apoi folosind metoda backward() pentru a găsi gradientul. Aceasta arată modul în care modelul de învățare profundă leagă datele de intrare cu funcția de pierdere definită. În acest blog, am oferit un tutorial în etape despre cum să calculați gradientul nescalat al unui tensor în PyTorch.