Како користити „торцх.но_град“ у ПиТорцх-у?

Kako Koristiti Torch No Grad U Pitorch U



Прорачун градијената за слојеве неуронске мреже је уграђена карактеристика ПиТорцх оквира. Корисници могу да измере везу између суседних слојева када се градијенти израчунавају у повратном пролазу. Међутим, ово узима данак на хардверу због велике количине података који се морају обрадити и, у овом случају, „ торцх.но_град ” метода се може користити за заустављање прорачуна градијента где год је то потребно.

На овом блогу ћемо разговарати о томе како да користимо „ торцх.но_град ” метод у ПиТорцх-у.

Шта је „торцх.но_град“ метод у ПиТорцх-у?

торцх.но_град ” метода се користи за управљање контекстом у оквиру развојног оквира ПиТорцх. Његова сврха је да заустави прорачун градијената за везу између наредних слојева модела дубоког учења. Корисност ове методе је када градијенти нису потребни у одређеном моделу, онда се могу онемогућити да би се доделило више хардверских ресурса за обраду петље за обуку модела.







Како користити методу „торцх.но_град“ у ПиТорцх-у?

Градијент се израчунава унутар пролаза уназад у ПиТорцх-у. Подразумевано, ПиТорцх има активирану аутоматску диференцијацију за све моделе машинског учења. Деактивација градијента прорачуна је од суштинског значаја за програмере који немају довољно ресурса за хардверску обраду.



Пратите доле наведене кораке да бисте научили како да користите „ торцх.но_град ” метода за онемогућавање израчунавања градијената у ПиТорцх-у:







Корак 1: Покрените Цолаб ИДЕ

Гоогле Цолаборатори је одличан избор платформе за развој пројеката који користе ПиТорцх фрамеворк због својих наменских ГПУ-а. Иди у Цолаб веб сајт и отвори „ Нова бележница ' као што је приказано:



Корак 2: Инсталирајте и увезите библиотеку Торцх

Сва функционалност ПиТорцх-а је инкапсулирана у „ бакља ” библиотека. Његова монтажа и увоз су неопходни пре почетка рада. „ !пип ” инсталациони пакет Питхон-а се користи за инсталирање библиотека и увози се у пројекат помоћу „ увоз ” команда:

!пип инсталл торцх
увозна бакља

Корак 3: Дефинишите ПиТорцх тензор са градијентом

Додајте ПиТорцх тензор пројекту користећи „ торцх.тенсор() ” метод. Затим му дајте важећи градијент користећи „ рекуирес_град=Тачно ” метод као што је приказано у коду испод:

А = торцх.тенсор([5.0], рекуирес_град=Труе)

Корак 4: Користите методу „торцх.но_град“ да уклоните градијент

Затим уклоните градијент из претходно дефинисаног тензора користећи „ торцх.но_град ” метод:

са бакљом.но_град():
Б = А**2 + 16

Горњи код ради на следећи начин:

  • но_град() ” метода се користи унутар „ са ” петља.
  • Сваки тензор садржан у петљи има уклоњен градијент.
  • На крају, дефинишите узорак аритметичког израчунавања користећи претходно дефинисани тензор и доделите га „ Б ” променљива као што је приказано изнад:

Корак 5: Проверите уклањање градијента

Последњи корак је да проверите шта је управо урађено. Градијент из тензора “ А ” је уклоњен и мора се проверити у излазу помоћу „ принт() ” метод:

принт('Израчунавање градијента са торцх.но_град: ', А.град)
принт('\нОригинални тензор: ', А)
принт('\нПример аритметичког израчунавања: ', Б)

Горњи код ради на следећи начин:

  • град ” метода нам даје градијент тензора “ А ”. Не приказује ништа у доњем излазу јер је градијент уклоњен помоћу „ торцх.но_град ” метод.
  • Оригинални тензор још увек показује да има свој градијент као што се види из „ рекуирес_град=Тачно ” исказ у излазу.
  • На крају, узорак аритметичког израчунавања показује резултат претходно дефинисане једначине:

Белешка : Овде можете приступити нашој Цолаб бележници линк .

Про врх

торцх.но_град ” метода је идеална тамо где градијенти нису потребни или када постоји потреба да се смањи оптерећење обраде на хардверу. Друга употреба ове методе је током закључивања јер се модел користи само за предвиђање на основу нових података. Пошто није укључена обука, потпуно је логично једноставно онемогућити израчунавање нагиба.

Успех! Показали смо вам како да користите метод „торцх.но_град“ да бисте онемогућили градијенте у ПиТорцху.

Закључак

Користити ' торцх.но_град ” метод у ПиТорцх-у тако што га дефинишемо унутар „ са ” петље и свих тензора садржаних у њима ће бити уклоњен њихов градијент. Ово ће донети побољшања у брзинама обраде и спречити нагомилавање градијента унутар петље за обуку. На овом блогу смо приказали како ово „ торцх.но_град ” метода се може користити за онемогућавање градијената изабраних тензора у ПиТорцх-у.