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
course content

Contenu du cours

Essentiels de Pytorch

Essentiels de Pytorch

1. Introduction à PyTorch
2. Concepts Plus Avancés
3. Réseaux Neuronaux dans PyTorch

book
Rétropropagation Multi-Étapes

Comme Tensorflow, PyTorch vous 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 chaîne. Le résultat montre combien un petit changement dans chaque élément de x affecte output_mean.

Désactivation du Suivi des Gradients

Dans certains cas, vous pouvez vouloir désactiver le suivi des gradients pour économiser de la mémoire et des calculs. Puisque requires_grad=False est le comportement par défaut, vous pouvez simplement créer le tenseur sans spécifier ce paramètre:

Tâche

Swipe to start coding

Vous êtes chargé de construire un réseau de neurones simple avec PyTorch. Votre objectif est de calculer le gradient de la perte par rapport à la matrice de poids.

  1. Définissez une matrice de poids aléatoire (tenseur) W de forme 1x3 initialisée avec des valeurs d'une distribution uniforme sur [0, 1], avec le suivi des gradients activé.
  2. Créez une matrice d'entrée (tenseur) X basée sur cette liste : [[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]].
  3. Effectuez une multiplication de matrices pour calculer Y.
  4. Calculez l'erreur quadratique moyenne (MSE) : loss = mean((Y - Ytarget)2).
  5. Calculez le gradient de la perte (loss) par rapport à W en utilisant la rétropropagation.
  6. Imprimez 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
toggle bottom row

book
Rétropropagation Multi-Étapes

Comme Tensorflow, PyTorch vous 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 chaîne. Le résultat montre combien un petit changement dans chaque élément de x affecte output_mean.

Désactivation du Suivi des Gradients

Dans certains cas, vous pouvez vouloir désactiver le suivi des gradients pour économiser de la mémoire et des calculs. Puisque requires_grad=False est le comportement par défaut, vous pouvez simplement créer le tenseur sans spécifier ce paramètre:

Tâche

Swipe to start coding

Vous êtes chargé de construire un réseau de neurones simple avec PyTorch. Votre objectif est de calculer le gradient de la perte par rapport à la matrice de poids.

  1. Définissez une matrice de poids aléatoire (tenseur) W de forme 1x3 initialisée avec des valeurs d'une distribution uniforme sur [0, 1], avec le suivi des gradients activé.
  2. Créez une matrice d'entrée (tenseur) X basée sur cette liste : [[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]].
  3. Effectuez une multiplication de matrices pour calculer Y.
  4. Calculez l'erreur quadratique moyenne (MSE) : loss = mean((Y - Ytarget)2).
  5. Calculez le gradient de la perte (loss) par rapport à W en utilisant la rétropropagation.
  6. Imprimez 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
Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
We're sorry to hear that something went wrong. What happened?
some-alt