Kako izračunati neskalirani gradijent tenzora u PyTorchu?

Kako Izracunati Neskalirani Gradijent Tenzora U Pytorchu



Pojedinačni unosi podataka pohranjuju se u obliku ' Tenzori ' u PyTorchu i ' gradijenti ” tenzora izračunavaju se korištenjem propagacije unatrag unutar petlje učenja modela dubokog učenja. Uvjet ' nerazmjeran ” znači da su podaci neobrađeni i da nema pretprocesiranja ili optimizacije. Neskalirani gradijent tenzora daje pravu vrijednost promjene o navedenoj funkciji gubitka.

U ovom blogu raspravljat ćemo o tome kako izračunati neskalirani gradijent tenzora u PyTorchu.







Što je neskalirani gradijent tenzora u PyTorchu?

Tenzori su višedimenzionalni nizovi koji sadrže podatke i mogu se izvoditi na GPU-ovima u PyTorchu. Tenzori koji sadrže neobrađene podatke iz skupa podataka bez ikakve prethodne obrade, transformacije ili optimizacije nazivaju se neskalirani tenzori. Međutim, ' Gradijent bez skaliranja ” razlikuje se od neskaliranog tenzora i mora se paziti da se to dvoje ne pomiješa. Neskalirani gradijent tenzora izračunava se s obzirom na odabranu funkciju gubitka i nema nikakvih daljnjih optimizacija ili skaliranja.



Kako izračunati neskalirani gradijent tenzora u PyTorchu?

Neskalirani gradijent tenzora je stvarna vrijednost brzine promjene ulaznih podataka u vezi s odabranom funkcijom gubitka. Podaci o neobrađenom gradijentu važni su za razumijevanje ponašanja modela i njegovog napredovanja tijekom petlje obuke.



Slijedite dolje navedene korake da biste naučili kako izračunati neskalirani gradijent tenzora u PyTorchu:





Korak 1: Započnite projekt postavljanjem IDE-a

Google Collaboratory IDE jedan je od najboljih izbora za razvoj PyTorch projekata jer pruža besplatan pristup GPU-ovima za bržu obradu. Idite u Colab web stranica i kliknite na ' Nova bilježnica ” opcija za početak rada:



Korak 2: Uvezite Essential Torch Library

Sva funkcionalnost okvira PyTorch sadržana je unutar ' Baklja ” knjižnica. Svaki PyTorch projekt počinje instaliranjem i uvozom ove biblioteke:

!pip instalirajte gorionik

uvozna baklja

Gornji kôd radi na sljedeći način:

  • “! pip ” je instalacijski paket za Python koji se koristi za instaliranje biblioteka u projektima.
  • ' uvoz ” naredba se koristi za pozivanje instaliranih biblioteka u projekt.
  • Ovaj projekt treba samo funkcionalnost ' baklja ” knjižnica:

Korak 3: Definirajte PyTorch tenzor s gradijentom

Koristiti ' baklja.tenzor ()” metoda za definiranje tenzora s gradijentom “ requires_grad=Istina ” metoda:

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

Korak 4: Definirajte jednostavnu funkciju gubitka

Funkcija gubitka definirana je pomoću jednostavne aritmetičke jednadžbe kao što je prikazano:

funkcija_gubitaka = A*5

Korak 5: Izračunajte gradijent i ispišite na izlaz

Koristiti ' unazad ()” metoda za izračunavanje neskaliranog gradijenta kao što je prikazano:

gubitak_funkcije.natrag()

unscaled_grad = A.grad

print('Bez skaliranja gradijenta PyTorch tenzora: ', unscaled_grad)

Gornji kôd radi na sljedeći način:

  • Koristiti ' unazad ()” za izračunavanje neskaliranog gradijenta širenjem unatrag.
  • Dodijeli ' A.grad ' prema ' unscaled_grad ” varijabla.
  • Na kraju, upotrijebite ' ispisati ()” metoda za prikaz rezultata nerazmjere gradijenta:

Bilješka : Našoj Colab bilježnici možete pristupiti ovdje veza .

Stručni savjet

Neskalirani gradijent tenzora može pokazati točan odnos ulaznih podataka s funkcijom gubitka za neuronsku mrežu unutar PyTorch okvira. Sirovi neuređeni gradijent pokazuje kako su obje vrijednosti sustavno povezane.

Uspjeh! Upravo smo pokazali kako izračunati neskalirani gradijent tenzora u PyTorchu.

Zaključak

Izračunajte neskalirani gradijent tenzora u PyTorchu tako da prvo definirate tenzor, a zatim pomoću metode backward() pronađete gradijent. Ovo pokazuje kako model dubokog učenja povezuje ulazne podatke s definiranom funkcijom gubitka. U ovom blogu dali smo postupni vodič o tome kako izračunati neskalirani gradijent tenzora u PyTorchu.