Comment calculer le gradient non mis à l'échelle d'un tenseur dans PyTorch ?

Comment Calculer Le Gradient Non Mis A L Echelle D Un Tenseur Dans Pytorch



Les saisies de données individuelles sont stockées sous la forme de « Tenseurs ' dans le PyTorch et ' dégradés ' des tenseurs sont calculés en utilisant la propagation vers l'arrière dans la boucle d'entraînement d'un modèle d'apprentissage profond. Le terme ' non mis à l'échelle » signifie que les données sont brutes et qu’aucun prétraitement ou optimisation n’est impliqué. Le gradient non mis à l'échelle d'un Tensor fournit la vraie valeur du changement concernant la fonction de perte spécifiée.

Dans ce blog, nous verrons comment calculer le gradient non mis à l'échelle d'un Tensor dans PyTorch.







Qu'est-ce qu'un dégradé non mis à l'échelle d'un tenseur dans PyTorch ?

Les tenseurs sont des tableaux multidimensionnels qui contiennent des données et peuvent s'exécuter sur des GPU dans PyTorch. Les tenseurs qui contiennent des données brutes de l'ensemble de données sans aucun prétraitement, transformation ou optimisation sont appelés tenseurs non mis à l'échelle. Cependant, un « Dégradé non mis à l'échelle ' est différent d'un tenseur non mis à l'échelle et il faut veiller à ne pas confondre les deux. Un gradient non mis à l'échelle d'un tenseur est calculé par rapport à la fonction de perte sélectionnée et il ne fait l'objet d'aucune autre optimisation ni mise à l'échelle.



Comment calculer le gradient non mis à l'échelle d'un tenseur dans PyTorch ?

Le gradient non mis à l'échelle d'un Tensor est la valeur réelle du taux de changement des données d'entrée concernant la fonction de perte sélectionnée. Les données brutes de gradient sont importantes pour comprendre le comportement du modèle et sa progression au cours de la boucle d'entraînement.



Suivez les étapes ci-dessous pour apprendre à calculer le gradient non mis à l'échelle d'un tenseur dans PyTorch :





Étape 1 : Démarrez le projet en configurant l'EDI

L'IDE Google Colaboratory est l'un des meilleurs choix pour le développement de projets PyTorch car il offre un accès gratuit aux GPU pour un traitement plus rapide. Aller au Colab site web et cliquez sur le ' Nouveau cahier » option pour commencer à travailler :



Étape 2 : Importer la bibliothèque Essential Torch

Toutes les fonctionnalités du framework PyTorch sont contenues dans le «  Torche ' bibliothèque. Chaque projet PyTorch commence par installer et importer cette bibliothèque :

!pip installer la torche

importer une torche

Le code ci-dessus fonctionne comme suit :

  • « ! pépin ' est un package d'installation pour Python utilisé pour installer des bibliothèques dans des projets.
  • Le ' importer 'La commande est utilisée pour appeler les bibliothèques installées dans le projet.
  • Ce projet n'a besoin que de la fonctionnalité du ' torche ' bibliothèque:

Étape 3 : Définir un tenseur PyTorch avec dégradé

Utilisez le ' torche.tenseur ()' méthode pour définir un tenseur avec un gradient ' require_grad=Vrai ' méthode:

A = torch.tensor([5.0], require_grad=True)

Étape 4 : Définir une fonction de perte simple

Une fonction de perte est définie à l'aide d'une simple équation arithmétique comme indiqué :

fonction_perte = A*5

Étape 5 : Calculer le dégradé et imprimer sur la sortie

Utilisez le ' en arrière () » pour calculer le gradient non mis à l'échelle, comme indiqué :

perte_fonction.backward()

unscaled_grad = A.grad

print('Gradient non mis à l'échelle du tenseur PyTorch : ', unscaled_grad)

Le code ci-dessus fonctionne comme suit :

  • Utilisez le ' en arrière () » pour calculer le gradient non mis à l'échelle via la propagation vers l'arrière.
  • Attribuez le « A.grad ' au ' non mis à l'échelle_grad » variables.
  • Enfin, utilisez le ' imprimer () » pour présenter la sortie du dégradé non mis à l'échelle :

Note : Vous pouvez accéder à notre Colab Notebook à cette adresse lien .

Conseil de pro

Le gradient de tenseurs non mis à l'échelle peut montrer la relation exacte entre les données d'entrée et la fonction de perte d'un réseau neuronal dans le cadre PyTorch. Le dégradé brut non édité montre comment les deux valeurs sont systématiquement liées.

Succès! Nous venons de montrer comment calculer le gradient non mis à l'échelle d'un tenseur dans PyTorch.

Conclusion

Calculez le gradient non mis à l'échelle d'un tenseur dans PyTorch en définissant d'abord le tenseur, puis en utilisant la méthode forward() pour trouver le gradient. Cela montre comment le modèle d'apprentissage en profondeur relie les données d'entrée à la fonction de perte définie. Dans ce blog, nous avons donné un didacticiel étape par étape sur la façon de calculer le gradient non mis à l'échelle d'un tenseur dans PyTorch.