Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Backpropagazione Multi-Step | Concetti Più Avanzati
Fondamenti di PyTorch

bookBackpropagazione Multi-Step

Come Tensorflow, anche PyTorch consente di costruire grafi computazionali più complessi che coinvolgono più tensori intermedi.

12345678910111213
import torch # Create a 2D tensor with gradient tracking x = torch.tensor([[1.0, 2.0, 3.0], [3.0, 2.0, 1.0]], requires_grad=True) # Define intermediate layers y = 6 * x + 3 z = 10 * y ** 2 # Compute the mean of the final output output_mean = z.mean() print(f"Output: {output_mean}") # Perform backpropagation output_mean.backward() # Print the gradient of x print("Gradient of x:\n", x.grad)
copy

Il gradiente di output_mean rispetto a x viene calcolato utilizzando la regola della catena. Il risultato mostra quanto una piccola variazione di ciascun elemento di x influisce su output_mean.

Disabilitazione del Tracciamento dei Gradienti

In alcuni casi, potrebbe essere necessario disabilitare il tracciamento dei gradienti per risparmiare memoria e calcolo. Poiché requires_grad=False è il comportamento predefinito, è possibile semplicemente creare il tensore senza specificare questo parametro:

x = torch.tensor([[1.0, 2.0, 3.0], [3.0, 2.0, 1.0]])
Compito

Swipe to start coding

Ti viene richiesto di costruire una semplice rete neurale in PyTorch. L'obiettivo è calcolare il gradiente della loss rispetto alla matrice dei pesi.

  1. Definire una matrice dei pesi casuale (tensore) W di forma 1x3 inizializzata con valori da una distribuzione uniforme su [0, 1], con tracciamento del gradiente abilitato.
  2. Creare una matrice di input (tensore) X basata su questa lista: [[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]].
  3. Eseguire la moltiplicazione di matrici tra W e X per calcolare Y.
  4. Calcolare l'errore quadratico medio (MSE): loss = mean((Y - Ytarget)2).
  5. Calcolare il gradiente della loss (loss) rispetto a W utilizzando la backpropagation.
  6. Stampare il gradiente calcolato di W.

Soluzione

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 2
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

close

Awesome!

Completion rate improved to 5

bookBackpropagazione Multi-Step

Scorri per mostrare il menu

Come Tensorflow, anche PyTorch consente di costruire grafi computazionali più complessi che coinvolgono più tensori intermedi.

12345678910111213
import torch # Create a 2D tensor with gradient tracking x = torch.tensor([[1.0, 2.0, 3.0], [3.0, 2.0, 1.0]], requires_grad=True) # Define intermediate layers y = 6 * x + 3 z = 10 * y ** 2 # Compute the mean of the final output output_mean = z.mean() print(f"Output: {output_mean}") # Perform backpropagation output_mean.backward() # Print the gradient of x print("Gradient of x:\n", x.grad)
copy

Il gradiente di output_mean rispetto a x viene calcolato utilizzando la regola della catena. Il risultato mostra quanto una piccola variazione di ciascun elemento di x influisce su output_mean.

Disabilitazione del Tracciamento dei Gradienti

In alcuni casi, potrebbe essere necessario disabilitare il tracciamento dei gradienti per risparmiare memoria e calcolo. Poiché requires_grad=False è il comportamento predefinito, è possibile semplicemente creare il tensore senza specificare questo parametro:

x = torch.tensor([[1.0, 2.0, 3.0], [3.0, 2.0, 1.0]])
Compito

Swipe to start coding

Ti viene richiesto di costruire una semplice rete neurale in PyTorch. L'obiettivo è calcolare il gradiente della loss rispetto alla matrice dei pesi.

  1. Definire una matrice dei pesi casuale (tensore) W di forma 1x3 inizializzata con valori da una distribuzione uniforme su [0, 1], con tracciamento del gradiente abilitato.
  2. Creare una matrice di input (tensore) X basata su questa lista: [[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]].
  3. Eseguire la moltiplicazione di matrici tra W e X per calcolare Y.
  4. Calcolare l'errore quadratico medio (MSE): loss = mean((Y - Ytarget)2).
  5. Calcolare il gradiente della loss (loss) rispetto a W utilizzando la backpropagation.
  6. Stampare il gradiente calcolato di W.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

close

Awesome!

Completion rate improved to 5
Sezione 2. Capitolo 2
single

single

some-alt