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
Quizzes & Challenges
Quizzes
Challenges
/
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 affecte 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. Comme 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 le 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 affecte 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. Comme 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 le 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