Hvordan beregner man den uskalerede gradient af en tensor i PyTorch?

Hvordan Beregner Man Den Uskalerede Gradient Af En Tensor I Pytorch



De enkelte dataindtastninger gemmes i form af ' Tensorer ' i PyTorch og ' gradienter ” af tensorer beregnes ved hjælp af baglæns udbredelse inden for træningsløkken af ​​en dyb læringsmodel. Begrebet ' uskaleret ” betyder, at dataene er rå, og der er ingen forbehandling eller optimering involveret. Den uskalerede gradient af en Tensor giver den sande værdi af ændringen omkring den specificerede tabsfunktion.

I denne blog vil vi diskutere, hvordan man beregner den uskalerede gradient af en Tensor i PyTorch.







Hvad er en uskaleret gradient af en tensor i PyTorch?

Tensorer er multidimensionelle arrays, der indeholder data og kan køre på GPU'er i PyTorch. De tensorer, der indeholder rådata fra datasættet uden nogen form for forbehandling, transformationer eller optimeringer, kaldes uskalerede tensorer. Dog en ' Uskaleret gradient ” er forskellig fra en uskaleret tensor, og man skal passe på ikke at forveksle de to. En uskaleret gradient af en tensor beregnes i forhold til den valgte tabsfunktion, og den har ingen yderligere optimeringer eller skalering.



Hvordan beregner man den uskalerede gradient af en tensor i PyTorch?

Den uskalerede gradient af en Tensor er den faktiske værdi af ændringshastigheden af ​​inputdataene vedrørende den valgte tabsfunktion. De rå gradientdata er vigtige for at forstå modellens adfærd og dens progression under træningsløkken.



Følg trinene nedenfor for at lære, hvordan man beregner den uskalerede gradient af en tensor i PyTorch:





Trin 1: Start projektet ved at opsætte IDE

Google Colaboratory IDE er et af de bedste valg til udvikling af PyTorch-projekter, fordi det giver gratis adgang til GPU'er for hurtigere behandling. Gå til Colab internet side og klik på ' Ny notesbog ' mulighed for at begynde at arbejde:



Trin 2: Importer Essential Torch Library

Al funktionaliteten af ​​PyTorch-rammen er indeholdt i ' Fakkel ” bibliotek. Hvert PyTorch-projekt starter med at installere og importere dette bibliotek:

!pip installer lommelygte

import lommelygte

Ovenstående kode fungerer som følger:

  • “! pip ” er en installationspakke til Python, der bruges til at installere biblioteker i projekter.
  • Det ' importere kommandoen bruges til at kalde de installerede biblioteker ind i projektet.
  • Dette projekt behøver kun funktionaliteten af ​​' fakkel ” bibliotek:

Trin 3: Definer en PyTorch-tensor med gradient

Brug ' torch.tensor ()' metode til at definere en tensor med en gradient ' requires_grad=Sandt ” metode:

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

Trin 4: Definer en simpel tabsfunktion

En tabsfunktion defineres ved hjælp af en simpel aritmetisk ligning som vist:

tabsfunktion = A*5

Trin 5: Beregn gradienten og udskriv til output

Brug ' baglæns ()” metode til at beregne den uskalerede gradient som vist:

loss_function.backward()

unscaled_grad = A.grad

print('Uskaleret gradient af PyTorch Tensor: ', unscaled_grad)

Ovenstående kode fungerer som følger:

  • Brug ' baglæns ()” metode til at beregne den uskalerede gradient via baglæns udbredelse.
  • Tildel ' A.grad ' til ' unscaled_grad ' variabel.
  • Brug endelig ' Print ()' metode til at vise outputtet af den uskalerede gradient:

Bemærk : Du kan få adgang til vores Colab Notebook her link .

Pro-Tip

Den uskalerede gradient af tensorer kan vise den nøjagtige relation mellem inputdataene og tabsfunktionen for et neuralt netværk inden for PyTorch-rammen. Den rå uredigerede gradient viser, hvordan begge værdier er relateret systematisk.

Succes! Vi har netop vist, hvordan man beregner den uskalerede gradient af en tensor i PyTorch.

Konklusion

Beregn den uskalerede gradient af en tensor i PyTorch ved først at definere tensoren og derefter bruge backward()-metoden til at finde gradienten. Dette viser, hvordan deep learning-modellen relaterer inputdataene til den definerede tabsfunktion. I denne blog har vi givet en trinvis vejledning i, hvordan man beregner den uskalerede gradient af en tensor i PyTorch.