Kaip apskaičiuoti nekeičiamą tenzoriaus gradientą „PyTorch“?

Kaip Apskaiciuoti Nekeiciama Tenzoriaus Gradienta Pytorch



Atskiri duomenų įrašai saugomi „forma“ Tenzoriai “ PyTorch ir “ gradientai “ tenzoriai apskaičiuojami naudojant atgalinį sklidimą gilaus mokymosi modelio mokymo cikle. Terminas ' be mastelio “ reiškia, kad duomenys yra neapdoroti ir nėra jokio išankstinio apdorojimo ar optimizavimo. Nesuskaičiuotas tenzoriaus gradientas pateikia tikrąją pokyčio vertę apie nurodytą praradimo funkciją.

Šiame tinklaraštyje aptarsime, kaip „PyTorch“ apskaičiuoti nekeičiamą Tensor gradientą.





Kas yra nekeičiamas tenzoriaus gradientas PyTorch?

Tenzoriai yra daugiamačiai masyvai, kuriuose yra duomenų ir kurie gali veikti „PyTorch“ GPU. Tenzoriai, kuriuose yra neapdorotų duomenų iš duomenų rinkinio be jokio išankstinio apdorojimo, transformacijų ar optimizavimo, vadinami nekeičiamais tenzoriais. Tačiau „ Neskaldytas gradientas “ skiriasi nuo tenzoriaus be mastelio, todėl reikia stengtis nepainioti šių dviejų. Pasirinktos praradimo funkcijos atžvilgiu apskaičiuojamas tenzoriaus gradientas be mastelio ir neturi jokių tolesnių optimizacijų ar mastelio keitimo.



Kaip apskaičiuoti nekeičiamą tenzoriaus gradientą „PyTorch“?

Tenzorio gradientas be mastelio yra tikroji įvesties duomenų, susijusių su pasirinkta praradimo funkcija, kitimo greičio vertė. Neapdoroti gradiento duomenys yra svarbūs norint suprasti modelio elgseną ir jo progresavimą mokymo ciklo metu.



Atlikite toliau nurodytus veiksmus, kad sužinotumėte, kaip apskaičiuoti nekeičiamą tenzoriaus gradientą PyTorch:





1 veiksmas: pradėkite projektą nustatydami IDE

„Google Colaboratory IDE“ yra vienas geriausių pasirinkimų kuriant „PyTorch“ projektus, nes suteikia nemokamą prieigą prie GPU, kad būtų galima greičiau apdoroti. Eikite į „Colab“. Interneto svetainė ir spustelėkite „ Naujas bloknotas “ galimybė pradėti dirbti:



2 veiksmas: importuokite „Essential Torch Library“.

Visos „PyTorch“ sistemos funkcijos yra „ Fakelas “ biblioteka. Kiekvienas PyTorch projektas prasideda įdiegiant ir importuojant šią biblioteką:

!pip įdiegti žibintuvėlį

importo žibintuvėlis

Aukščiau pateiktas kodas veikia taip:

  • “! pip “ yra „Python“ diegimo paketas, naudojamas projektų bibliotekoms įdiegti.
  • importuoti ” komanda naudojama įdiegtoms bibliotekoms iškviesti į projektą.
  • Šiam projektui reikia tik „ deglas biblioteka:

3 veiksmas: apibrėžkite „PyTorch Tensor“ su gradientu

Naudoti ' deglas.tenzorius ()' metodas tenzoriui su gradientu apibrėžti ' prasa_grad=Tiesa “ metodas:

A = torch.tensor ([5.0], reikalauja_grad = Tiesa)

4 veiksmas: apibrėžkite paprastą praradimo funkciją

Nuostolių funkcija apibrėžiama naudojant paprastą aritmetinę lygtį, kaip parodyta:

praradimo_funkcija = A*5

5 veiksmas: apskaičiuokite gradientą ir spausdinkite iki išvesties

Naudoti ' atgal ()“ metodas nesuskaičiuotam gradientui apskaičiuoti, kaip parodyta:

praradimo_funkcija.atgal()

unscaled_grad = A.grad

print('PyTorch Tensor be mastelio gradientas: ', unscaled_grad)

Aukščiau pateiktas kodas veikia taip:

  • Naudoti ' atgal ()“ metodas, skirtas apskaičiuoti be mastelio gradientą per atgalinį sklidimą.
  • Priskirkite „ A.grad “ į „ unscaled_grad “ kintamasis.
  • Galiausiai naudokite „ spausdinti ()“ metodas, skirtas parodyti nemokamo gradiento išvestį:

Pastaba : „Colab“ bloknotą galite pasiekti šiuo adresu nuoroda .

Pro-Tip

Nesudėtingas tenzorių gradientas gali parodyti tikslų įvesties duomenų ryšį su neuroninio tinklo praradimo funkcija PyTorch sistemoje. Neapdorotas neredaguotas gradientas parodo, kaip abi vertės yra sistemingai susijusios.

Sėkmė! Ką tik parodėme, kaip „PyTorch“ apskaičiuoti nekeičiamą tenzoriaus gradientą.

Išvada

Apskaičiuokite nekeičiamą tenzoriaus gradientą „PyTorch“, pirmiausia apibrėždami tenzorių, o tada naudodami atgalinį () metodą gradientui rasti. Tai parodo, kaip gilaus mokymosi modelis susieja įvesties duomenis su apibrėžta praradimo funkcija. Šiame tinklaraštyje pateikėme nuoseklią pamoką, kaip apskaičiuoti nekeičiamą tenzoriaus gradientą „PyTorch“.