Come calcolare il gradiente non scalato di un tensore in PyTorch?

Come Calcolare Il Gradiente Non Scalato Di Un Tensore In Pytorch



Le singole registrazioni di dati vengono memorizzate sotto forma di “ Tensori ' in PyTorch e ' gradienti ' di tensori vengono calcolati utilizzando la propagazione all'indietro all'interno del ciclo di addestramento di un modello di deep learning. Il termine ' non scalato ' significa che i dati sono grezzi e non è coinvolta alcuna preelaborazione o ottimizzazione. Il gradiente non scalato di un tensore fornisce il valore reale della variazione della funzione di perdita specificata.

In questo blog discuteremo come calcolare il gradiente non scalato di un tensore in PyTorch.







Cos'è un gradiente non scalato di un tensore in PyTorch?

I tensori sono array multidimensionali che contengono dati e possono essere eseguiti su GPU in PyTorch. I tensori che contengono dati grezzi dal set di dati senza alcuna preelaborazione, trasformazione o ottimizzazione sono chiamati tensori non scalati. Tuttavia, un “ Gradiente non scalato ' è diverso da un tensore non scalato e bisogna fare attenzione a non confondere i due. Un gradiente non scalato di un tensore viene calcolato rispetto alla funzione di perdita selezionata e non presenta ulteriori ottimizzazioni o ridimensionamenti.



Come calcolare il gradiente non scalato di un tensore in PyTorch?

Il gradiente non scalato di un tensore è il valore effettivo del tasso di variazione dei dati di input riguardanti la funzione di perdita selezionata. I dati grezzi del gradiente sono importanti per comprendere il comportamento del modello e la sua progressione durante il ciclo di training.



Segui i passaggi indicati di seguito per imparare a calcolare il gradiente non scalato di un tensore in PyTorch:





Passaggio 1: iniziare il progetto configurando l'IDE

L'IDE di Google Colaboratory è una delle migliori scelte per lo sviluppo di progetti PyTorch perché fornisce accesso gratuito alle GPU per un'elaborazione più rapida. Vai al Colab sito web e fare clic su ' Nuovo taccuino 'opzione per iniziare a lavorare:



Passaggio 2: importa la libreria Essential Torch

Tutte le funzionalità del framework PyTorch sono contenute all'interno del “ Torcia ' biblioteca. Ogni progetto PyTorch inizia installando e importando questa libreria:

!pip installa la torcia

torcia di importazione

Il codice sopra funziona come segue:

  • “! pip ' è un pacchetto di installazione per Python utilizzato per installare le librerie nei progetti.
  • IL ' importare Il comando viene utilizzato per richiamare le librerie installate nel progetto.
  • Questo progetto necessita solo della funzionalità del “ torcia ' biblioteca:

Passaggio 3: definire un tensore PyTorch con gradiente

Usa il ' torcia.tensore ()” metodo per definire un tensore con un gradiente “ richiede_grad=Vero ' metodo:

A = torcia.tensore([5.0], require_grad=True)

Passaggio 4: Definire una funzione di perdita semplice

Una funzione di perdita è definita utilizzando una semplice equazione aritmetica come mostrato:

funzione_perdita = A*5

Passaggio 5: calcolare il gradiente e stampare sull'output

Usa il ' all'indietro ()” per calcolare il gradiente non scalato come mostrato:

perdita_funzione.backward()

grado_non scalato = A.grado

print('Gradiente non scalato del tensore PyTorch: ', unscaled_grad)

Il codice sopra funziona come segue:

  • Usa il ' all'indietro ()” per calcolare il gradiente non scalato tramite propagazione all'indietro.
  • Assegnare il ' A.grad ' al ' non scalato_grad 'variabile.
  • Infine, utilizzare il ' stampa ()” per mostrare l'output del gradiente non scalato:

Nota : Puoi accedere al nostro Colab Notebook da qui collegamento .

Suggerimento professionale

Il gradiente non scalato dei tensori può mostrare l'esatta relazione dei dati di input con la funzione di perdita per una rete neurale all'interno del framework PyTorch. Il gradiente grezzo non modificato mostra come entrambi i valori siano correlati sistematicamente.

Successo! Abbiamo appena mostrato come calcolare il gradiente non scalato di un tensore in PyTorch.

Conclusione

Calcola il gradiente non scalato di un tensore in PyTorch definendo prima il tensore e quindi utilizzando il metodo Backward() per trovare il gradiente. Ciò mostra come il modello di deep learning mette in relazione i dati di input con la funzione di perdita definita. In questo blog abbiamo fornito un tutorial passo passo su come calcolare il gradiente non scalato di un tensore in PyTorch.