Rétropropagation Multi-Étapes
Comme Tensorflow, PyTorch permet également de construire des graphes computationnels plus complexes impliquant plusieurs tenseurs intermédiaires.
12345678910111213import 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 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]])
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.
- Définir une matrice de poids aléatoire (tenseur)
Wde forme1x3initialisée avec des valeurs issues d'une distribution uniforme sur [0, 1], avec le suivi du gradient activé. - 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]]. - Effectuer une multiplication matricielle entre
WetXpour calculerY. - Calculer l'erreur quadratique moyenne (MSE) :
loss = mean((Y - Ytarget)
2 ). - Calculer le gradient de la perte (
loss) par rapport àWen utilisant la rétropropagation. - Afficher le gradient calculé de
W.
Solution
Merci pour vos commentaires !
single
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Awesome!
Completion rate improved to 5
Ré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.
12345678910111213import 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 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]])
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.
- Définir une matrice de poids aléatoire (tenseur)
Wde forme1x3initialisée avec des valeurs issues d'une distribution uniforme sur [0, 1], avec le suivi du gradient activé. - 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]]. - Effectuer une multiplication matricielle entre
WetXpour calculerY. - Calculer l'erreur quadratique moyenne (MSE) :
loss = mean((Y - Ytarget)
2 ). - Calculer le gradient de la perte (
loss) par rapport àWen utilisant la rétropropagation. - Afficher le gradient calculé de
W.
Solution
Merci pour vos commentaires !
single