Contenu du cours
Essentiels de Pytorch
Essentiels de Pytorch
Rétropropagation Multi-Étapes
Comme Tensorflow, PyTorch vous permet également de construire des graphes computationnels plus complexes impliquant plusieurs tenseurs intermédiaires.
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)
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:
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.
- Définissez une matrice de poids aléatoire (tenseur)
W
de forme1x3
initialisée avec des valeurs d'une distribution uniforme sur [0, 1], avec le suivi des gradients activé. - 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]]
. - Effectuez une multiplication de matrices pour calculer
Y
. - Calculez l'erreur quadratique moyenne (MSE) :
loss = mean((Y - Ytarget)
2 ). - Calculez le gradient de la perte (
loss
) par rapport àW
en utilisant la rétropropagation. - Imprimez le gradient calculé de
W
.
Solution
Merci pour vos commentaires !
Rétropropagation Multi-Étapes
Comme Tensorflow, PyTorch vous permet également de construire des graphes computationnels plus complexes impliquant plusieurs tenseurs intermédiaires.
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)
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:
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.
- Définissez une matrice de poids aléatoire (tenseur)
W
de forme1x3
initialisée avec des valeurs d'une distribution uniforme sur [0, 1], avec le suivi des gradients activé. - 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]]
. - Effectuez une multiplication de matrices pour calculer
Y
. - Calculez l'erreur quadratique moyenne (MSE) :
loss = mean((Y - Ytarget)
2 ). - Calculez le gradient de la perte (
loss
) par rapport àW
en utilisant la rétropropagation. - Imprimez le gradient calculé de
W
.
Solution
Merci pour vos commentaires !