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 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]])
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 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 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]])
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 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