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 gorionikuvozna 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.