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