Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Rétropropagation Multi-Étapes | Concepts Plus Avancés
Essentiels de PyTorch

bookRétropropagation Multi-Étapes

Comme Tensorflow, PyTorch permet également de construire des graphes computationnels plus complexes impliquant plusieurs tenseurs intermédiaires.

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

Le gradient de output_mean par rapport à x est calculé en utilisant la règle de la chaîne. Le résultat indique dans quelle mesure une petite variation de chaque élément de x influence output_mean.

Désactivation du suivi des gradients

Dans certains cas, il peut être utile de désactiver le suivi des gradients afin d'économiser de la mémoire et des ressources de calcul. Étant donné que requires_grad=False est le comportement par défaut, il suffit de créer le tenseur sans spécifier ce paramètre :

x = torch.tensor([[1.0, 2.0, 3.0], [3.0, 2.0, 1.0]])
Tâche

Swipe to start coding

Vous devez construire un réseau de neurones simple avec PyTorch. L'objectif est de calculer le gradient de la perte par rapport à la matrice de poids.

  1. Définir une matrice de poids aléatoire (tenseur) W de forme 1x3 initialisée avec des valeurs issues d'une distribution uniforme sur [0, 1], avec suivi du gradient activé.
  2. Créer une matrice d'entrée (tenseur) X à partir de cette liste : [[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]].
  3. Effectuer une multiplication matricielle entre W et X pour calculer Y.
  4. Calculer l'erreur quadratique moyenne (MSE) : loss = mean((Y - Ytarget)2).
  5. Calculer le gradient de la perte (loss) par rapport à W en utilisant la rétropropagation.
  6. Afficher le gradient calculé de W.

Solution

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 2
single

single

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

close

Awesome!

Completion rate improved to 5

bookRétropropagation Multi-Étapes

Glissez pour afficher le menu

Comme Tensorflow, PyTorch permet également de construire des graphes computationnels plus complexes impliquant plusieurs tenseurs intermédiaires.

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

Le gradient de output_mean par rapport à x est calculé en utilisant la règle de la chaîne. Le résultat indique dans quelle mesure une petite variation de chaque élément de x influence output_mean.

Désactivation du suivi des gradients

Dans certains cas, il peut être utile de désactiver le suivi des gradients afin d'économiser de la mémoire et des ressources de calcul. Étant donné que requires_grad=False est le comportement par défaut, il suffit de créer le tenseur sans spécifier ce paramètre :

x = torch.tensor([[1.0, 2.0, 3.0], [3.0, 2.0, 1.0]])
Tâche

Swipe to start coding

Vous devez construire un réseau de neurones simple avec PyTorch. L'objectif est de calculer le gradient de la perte par rapport à la matrice de poids.

  1. Définir une matrice de poids aléatoire (tenseur) W de forme 1x3 initialisée avec des valeurs issues d'une distribution uniforme sur [0, 1], avec suivi du gradient activé.
  2. Créer une matrice d'entrée (tenseur) X à partir de cette liste : [[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]].
  3. Effectuer une multiplication matricielle entre W et X pour calculer Y.
  4. Calculer l'erreur quadratique moyenne (MSE) : loss = mean((Y - Ytarget)2).
  5. Calculer le gradient de la perte (loss) par rapport à W en utilisant la rétropropagation.
  6. Afficher le gradient calculé de W.

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 2
single

single

some-alt