Hvordan beregne den uskalerte gradienten til en tensor i PyTorch?

Hvordan Beregne Den Uskalerte Gradienten Til En Tensor I Pytorch



De enkelte dataoppføringene lagres i form av ' Tensorer ' i PyTorch og ' gradienter ” av tensorer beregnes ved å bruke forplantning bakover innenfor treningssløyfen til en dyp læringsmodell. Begrepet ' uskalert ” betyr at dataene er rå og det er ingen forbehandling eller optimalisering involvert. Den uskalerte gradienten til en Tensor gir den sanne verdien av endring om den spesifiserte tapsfunksjonen.

I denne bloggen vil vi diskutere hvordan du beregner den uskalerte gradienten til en Tensor i PyTorch.







Hva er en uskalert gradient av en tensor i PyTorch?

Tensorer er flerdimensjonale arrays som inneholder data og kan kjøres på GPUer i PyTorch. Tensorene som inneholder rådata fra datasettet uten noen forbehandling, transformasjoner eller optimaliseringer kalles uskalerte tensorer. Imidlertid en ' Uskalert gradient ” er forskjellig fra en uskalert tensor, og man må passe på å ikke forveksle de to. En uskalert gradient av en tensor beregnes med hensyn til den valgte tapsfunksjonen, og den har ingen ytterligere optimaliseringer eller skalering.



Hvordan beregne den uskalerte gradienten til en tensor i PyTorch?

Den uskalerte gradienten til en Tensor er den faktiske verdien av endringshastigheten til inngangsdataene angående den valgte tapsfunksjonen. De rå gradientdataene er viktige for å forstå oppførselen til modellen og dens progresjon under treningssløyfen.



Følg trinnene nedenfor for å lære hvordan du beregner den uskalerte gradienten til en tensor i PyTorch:





Trinn 1: Start prosjektet ved å sette opp IDE

Google Colaboratory IDE er et av de beste valgene for utvikling av PyTorch-prosjekter fordi det gir gratis tilgang til GPUer for raskere behandling. Gå til Colab nettsted og klikk på ' Ny notatbok alternativ for å begynne å jobbe:



Trinn 2: Importer Essential Torch Library

All funksjonaliteten til PyTorch-rammeverket er inneholdt i ' Lommelykt ' bibliotek. Hvert PyTorch-prosjekt starter med å installere og importere dette biblioteket:

!pip installasjonslykt

importere lommelykt

Koden ovenfor fungerer som følger:

  • «! pip ” er en installasjonspakke for Python som brukes til å installere biblioteker i prosjekter.
  • « import kommandoen brukes til å kalle de installerte bibliotekene inn i prosjektet.
  • Dette prosjektet trenger bare funksjonaliteten til ' lommelykt ' bibliotek:

Trinn 3: Definer en PyTorch-tensor med gradient

Bruke ' torch.tensor ()' metode for å definere en tensor med en gradient ' requires_grad=Sant ' metode:

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

Trinn 4: Definer en enkel tapsfunksjon

En tapsfunksjon er definert ved å bruke en enkel aritmetisk ligning som vist:

tapsfunksjon = A*5

Trinn 5: Beregn gradienten og skriv ut til utdata

Bruke ' bakover ()»-metoden for å beregne uskalert gradient som vist:

loss_function.backward()

unscaled_grad = A.grad

print('Uskalert gradient av PyTorch Tensor: ', unscaled_grad)

Koden ovenfor fungerer som følger:

  • Bruke ' bakover ()»-metoden for å beregne uskalert gradient via forplantning bakover.
  • Tildel ' A.grad ' til ' unscaled_grad variabel.
  • Til slutt bruker du ' skrive ut ()»-metoden for å vise utdataene fra den uskalerte gradienten:

Merk : Du kan få tilgang til Colab Notebook her link .

Pro-Tips

Den uskalerte gradienten til tensorer kan vise den nøyaktige relasjonen mellom inngangsdataene og tapsfunksjonen for et nevralt nettverk innenfor PyTorch-rammeverket. Den rå uredigerte gradienten viser hvordan begge verdiene henger sammen systematisk.

Suksess! Vi har nettopp vist hvordan man beregner den uskalerte gradienten til en tensor i PyTorch.

Konklusjon

Beregn den uskalerte gradienten til en tensor i PyTorch ved først å definere tensoren, og deretter bruke backward()-metoden for å finne gradienten. Dette viser hvordan dyplæringsmodellen relaterer inngangsdataene til den definerte tapsfunksjonen. I denne bloggen har vi gitt en trinnvis veiledning om hvordan du beregner den uskalerte gradienten til en tensor i PyTorch.