Paano Kalkulahin ang Unscaled Gradient ng isang Tensor sa PyTorch?

Paano Kalkulahin Ang Unscaled Gradient Ng Isang Tensor Sa Pytorch



Ang mga indibidwal na entry ng data ay naka-imbak sa anyo ng ' Mga Tensor 'sa PyTorch at ' mga gradient ” ng mga tensor ay kinakalkula gamit ang backward propagation sa loob ng training loop ng isang deep learning model. Ang termino ' walang sukat ” ay nangangahulugan na ang data ay hilaw at walang preprocessing o optimization na kasangkot. Ang hindi naka-scale na gradient ng isang Tensor ay nagbibigay ng tunay na halaga ng pagbabago tungkol sa tinukoy na function ng pagkawala.

Sa blog na ito, tatalakayin natin kung paano kalkulahin ang unscaled gradient ng isang Tensor sa PyTorch.







Ano ang Unscaled Gradient ng Tensor sa PyTorch?

Ang mga tensor ay mga multidimensional na array na naglalaman ng data at maaaring tumakbo sa mga GPU sa PyTorch. Ang mga tensor na naglalaman ng raw data mula sa dataset na walang anumang preprocessing, pagbabago, o pag-optimize ay tinatawag na unscaled tensor. Gayunpaman, isang ' Unscaled Gradient ” ay iba sa unscaled tensor at dapat mag-ingat upang hindi malito ang dalawa. Ang isang hindi naka-scale na gradient ng isang tensor ay kinakalkula patungkol sa napiling function ng pagkawala at wala itong anumang karagdagang pag-optimize o pag-scale.



Paano Kalkulahin ang Unscaled Gradient ng isang Tensor sa PyTorch?

Ang hindi naka-scale na gradient ng isang Tensor ay ang aktwal na halaga ng rate ng pagbabago ng data ng input tungkol sa napiling function ng pagkawala. Ang raw gradient data ay mahalaga upang maunawaan ang pag-uugali ng modelo at ang pag-unlad nito sa panahon ng loop ng pagsasanay.



Sundin ang mga hakbang na ibinigay sa ibaba upang matutunan kung paano kalkulahin ang hindi naka-scale na gradient ng isang tensor sa PyTorch:





Hakbang 1: Simulan ang Proyekto sa pamamagitan ng pag-set up ng IDE

Ang Google Colaboratory IDE ay isa sa mga pinakamahusay na pagpipilian para sa pagbuo ng mga proyekto ng PyTorch dahil nagbibigay ito ng libreng access sa mga GPU para sa mas mabilis na pagproseso. Pumunta sa Colab website at i-click ang ' Bagong Notebook ” opsyon para magsimulang magtrabaho:



Hakbang 2: I-import ang Essential Torch Library

Ang lahat ng functionality ng PyTorch framework ay nakapaloob sa loob ng “ Tanglaw ” aklatan. Ang bawat proyekto ng PyTorch ay nagsisimula sa pamamagitan ng pag-install at pag-import ng library na ito:

!pip install torch

import na tanglaw

Ang code sa itaas ay gumagana tulad ng sumusunod:

  • “! pip ” ay isang pakete ng pag-install para sa Python na ginagamit sa pag-install ng mga aklatan sa mga proyekto.
  • Ang ' angkat Ang command ay ginagamit para tawagan ang mga naka-install na library sa proyekto.
  • Ang proyektong ito ay nangangailangan lamang ng functionality ng ' tanglaw ” library:

Hakbang 3: Tukuyin ang isang PyTorch Tensor na may Gradient

Gamitin ang ' tanglaw.tensor ()' paraan upang tukuyin ang isang tensor na may gradient ' nangangailangan_grad=Totoo 'paraan:

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

Hakbang 4: Tukuyin ang Simple Loss Function

Ang isang function ng pagkawala ay tinukoy gamit ang isang simpleng arithmetic equation tulad ng ipinapakita:

loss_function = A*5

Hakbang 5: Kalkulahin ang Gradient at I-print sa Output

Gamitin ang ' paurong ()' na paraan upang kalkulahin ang hindi naka-scale na gradient gaya ng ipinapakita:

loss_function.backward()

unscaled_grad = A.grad

print('Unscaled Gradient ng PyTorch Tensor: ', unscaled_grad)

Ang code sa itaas ay gumagana tulad ng sumusunod:

  • Gamitin ang ' paurong ()” na paraan para kalkulahin ang unscaled gradient sa pamamagitan ng backward propagation.
  • Italaga ang ' A.grad ' sa ' unscaled_grad ” variable.
  • Panghuli, gamitin ang ' print ()' na paraan upang ipakita ang output ng hindi naka-scale na gradient:

Tandaan : Maa-access mo ang aming Colab Notebook dito link .

Pro-Tip

Ang unscaled gradient ng tensors ay maaaring magpakita ng eksaktong kaugnayan ng input data sa loss function para sa isang neural network sa loob ng PyTorch framework. Ipinapakita ng raw unedited gradient kung paano sistematikong nauugnay ang parehong mga value.

Tagumpay! Ipinakita lang namin kung paano kalkulahin ang unscaled gradient ng isang tensor sa PyTorch.

Konklusyon

Kalkulahin ang unscaled gradient ng isang tensor sa PyTorch sa pamamagitan ng unang pagtukoy sa tensor, at pagkatapos ay gamit ang backward() na paraan upang mahanap ang gradient. Ipinapakita nito kung paano iniuugnay ng deep learning model ang input data sa tinukoy na loss function. Sa blog na ito, nagbigay kami ng isang step-wise na tutorial kung paano kalkulahin ang unscaled gradient ng isang tensor sa PyTorch.