Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Bande de Gradient | Notions de Base de TensorFlow
Introduction à TensorFlow
course content

Contenu du cours

Introduction à TensorFlow

Introduction à TensorFlow

1. Tenseurs
2. Notions de Base de TensorFlow

book
Bande de Gradient

Gradient Tape

Ayant maintenant saisi les opérations fondamentales sur les tenseurs, nous pouvons progresser vers la simplification et l'accélération de ces processus en utilisant les fonctionnalités intégrées de TensorFlow. Le premier de ces outils avancés que nous explorerons est le Gradient Tape.

Qu'est-ce que le Gradient Tape?

Dans ce chapitre, nous allons explorer l'un des concepts fondamentaux de TensorFlow, le Gradient Tape. Cette fonctionnalité est essentielle pour comprendre et mettre en œuvre des techniques d'optimisation basées sur le gradient, en particulier dans l'apprentissage profond.

Le Gradient Tape dans TensorFlow est un outil qui enregistre les opérations pour la différenciation automatique. Lorsque vous effectuez des opérations à l'intérieur d'un bloc Gradient Tape, TensorFlow garde une trace de tous les calculs qui se produisent. Cela est particulièrement utile pour l'entraînement des modèles d'apprentissage automatique, où les gradients sont nécessaires pour optimiser les paramètres du modèle.

Remarque

Essentiellement, un gradient est un ensemble de dérivées partielles.

Utilisation de Gradient Tape

Pour utiliser Gradient Tape, suivez ces étapes :

  • Créer un bloc Gradient Tape : Utilisez with tf.GradientTape() as tape:. À l'intérieur de ce bloc, tous les calculs sont suivis ;
  • Définir les calculs : Effectuez des opérations avec des tenseurs à l'intérieur du bloc (par exemple, définir un passage avant d'un réseau de neurones) ;
  • Calculer les gradients : Utilisez tape.gradient(target, sources) pour calculer les gradients de la cible par rapport aux sources.

Calcul de Gradient Simple

Passons en revue un exemple simple pour mieux comprendre.

123456789101112131415
import tensorflow as tf # Define input variables x = tf.Variable(3.0) # Start recording the operations with tf.GradientTape() as tape: # Define the calculations y = x * x # Extract the gradient for the specific input (`x`) grad = tape.gradient(y, x) print(f'Result of y: {y}') print(f'The gradient of y with respect to x is: {grad.numpy()}')
copy

Ce code calcule le gradient de y = x^2 à x = 3. C'est la même chose que la dérivée partielle de y par rapport à x.

Plusieurs Dérivées Partielles

Lorsque la sortie est influencée par plusieurs entrées, nous pouvons calculer une dérivée partielle par rapport à chacune de ces entrées (ou juste quelques-unes sélectionnées). Cela est réalisé en fournissant une liste de variables en tant que paramètre sources.

Le résultat de cette opération sera une liste correspondante de tenseurs, où chaque tenseur représente la dérivée partielle par rapport à chacune des variables spécifiées dans sources.

1234567891011121314151617
import tensorflow as tf # Define input variables x = tf.Variable(tf.fill((2, 3), 3.0)) z = tf.Variable(5.0) # Start recording the operations with tf.GradientTape() as tape: # Define the calculations y = tf.reduce_sum(x * x + 2 * z) # Extract the gradient for the specific inputs (`x` and `z`) grad = tape.gradient(y, [x, z]) print(f'Result of y: {y}') print(f"The gradient of y with respect to x is:\n{grad[0].numpy()}") print(f"The gradient of y with respect to z is: {grad[1].numpy()}")
copy

Ce code calcule le gradient de la fonction y = sum(x^2 + 2*z) pour des valeurs données de x et z. Dans cet exemple, le gradient de x est montré comme un tenseur 2D, où chaque élément correspond à la dérivée partielle de la valeur respective dans la matrice x originale.

Remarque

Pour des informations supplémentaires sur les capacités de Gradient Tape, y compris les dérivées d'ordre supérieur et l'extraction de la matrice Jacobienne, consultez la documentation officielle de TensorFlow.

Tâche

Swipe to start coding

Votre objectif est de calculer le gradient (dérivée) d'une fonction mathématique donnée à un point spécifié en utilisant le Gradient Tape de TensorFlow. La fonction et le point seront fournis, et vous verrez comment utiliser TensorFlow pour trouver le gradient à ce point.

Considérons une fonction quadratique d'une seule variable x, définie comme suit :

f(x) = x^2 + 2x - 1

Votre tâche est de calculer la dérivée de cette fonction en x = 2.

Étapes

  1. Définissez la variable x au point où vous souhaitez calculer la dérivée.
  2. Utilisez Gradient Tape pour enregistrer le calcul de la fonction f(x).
  3. Calculez le gradient de f(x) au point spécifié.

Remarque

Le gradient ne peut être calculé que pour des valeurs de type à virgule flottante.

Derivative of a Function at a Point

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 1
toggle bottom row

book
Bande de Gradient

Gradient Tape

Ayant maintenant saisi les opérations fondamentales sur les tenseurs, nous pouvons progresser vers la simplification et l'accélération de ces processus en utilisant les fonctionnalités intégrées de TensorFlow. Le premier de ces outils avancés que nous explorerons est le Gradient Tape.

Qu'est-ce que le Gradient Tape?

Dans ce chapitre, nous allons explorer l'un des concepts fondamentaux de TensorFlow, le Gradient Tape. Cette fonctionnalité est essentielle pour comprendre et mettre en œuvre des techniques d'optimisation basées sur le gradient, en particulier dans l'apprentissage profond.

Le Gradient Tape dans TensorFlow est un outil qui enregistre les opérations pour la différenciation automatique. Lorsque vous effectuez des opérations à l'intérieur d'un bloc Gradient Tape, TensorFlow garde une trace de tous les calculs qui se produisent. Cela est particulièrement utile pour l'entraînement des modèles d'apprentissage automatique, où les gradients sont nécessaires pour optimiser les paramètres du modèle.

Remarque

Essentiellement, un gradient est un ensemble de dérivées partielles.

Utilisation de Gradient Tape

Pour utiliser Gradient Tape, suivez ces étapes :

  • Créer un bloc Gradient Tape : Utilisez with tf.GradientTape() as tape:. À l'intérieur de ce bloc, tous les calculs sont suivis ;
  • Définir les calculs : Effectuez des opérations avec des tenseurs à l'intérieur du bloc (par exemple, définir un passage avant d'un réseau de neurones) ;
  • Calculer les gradients : Utilisez tape.gradient(target, sources) pour calculer les gradients de la cible par rapport aux sources.

Calcul de Gradient Simple

Passons en revue un exemple simple pour mieux comprendre.

123456789101112131415
import tensorflow as tf # Define input variables x = tf.Variable(3.0) # Start recording the operations with tf.GradientTape() as tape: # Define the calculations y = x * x # Extract the gradient for the specific input (`x`) grad = tape.gradient(y, x) print(f'Result of y: {y}') print(f'The gradient of y with respect to x is: {grad.numpy()}')
copy

Ce code calcule le gradient de y = x^2 à x = 3. C'est la même chose que la dérivée partielle de y par rapport à x.

Plusieurs Dérivées Partielles

Lorsque la sortie est influencée par plusieurs entrées, nous pouvons calculer une dérivée partielle par rapport à chacune de ces entrées (ou juste quelques-unes sélectionnées). Cela est réalisé en fournissant une liste de variables en tant que paramètre sources.

Le résultat de cette opération sera une liste correspondante de tenseurs, où chaque tenseur représente la dérivée partielle par rapport à chacune des variables spécifiées dans sources.

1234567891011121314151617
import tensorflow as tf # Define input variables x = tf.Variable(tf.fill((2, 3), 3.0)) z = tf.Variable(5.0) # Start recording the operations with tf.GradientTape() as tape: # Define the calculations y = tf.reduce_sum(x * x + 2 * z) # Extract the gradient for the specific inputs (`x` and `z`) grad = tape.gradient(y, [x, z]) print(f'Result of y: {y}') print(f"The gradient of y with respect to x is:\n{grad[0].numpy()}") print(f"The gradient of y with respect to z is: {grad[1].numpy()}")
copy

Ce code calcule le gradient de la fonction y = sum(x^2 + 2*z) pour des valeurs données de x et z. Dans cet exemple, le gradient de x est montré comme un tenseur 2D, où chaque élément correspond à la dérivée partielle de la valeur respective dans la matrice x originale.

Remarque

Pour des informations supplémentaires sur les capacités de Gradient Tape, y compris les dérivées d'ordre supérieur et l'extraction de la matrice Jacobienne, consultez la documentation officielle de TensorFlow.

Tâche

Swipe to start coding

Votre objectif est de calculer le gradient (dérivée) d'une fonction mathématique donnée à un point spécifié en utilisant le Gradient Tape de TensorFlow. La fonction et le point seront fournis, et vous verrez comment utiliser TensorFlow pour trouver le gradient à ce point.

Considérons une fonction quadratique d'une seule variable x, définie comme suit :

f(x) = x^2 + 2x - 1

Votre tâche est de calculer la dérivée de cette fonction en x = 2.

Étapes

  1. Définissez la variable x au point où vous souhaitez calculer la dérivée.
  2. Utilisez Gradient Tape pour enregistrer le calcul de la fonction f(x).
  3. Calculez le gradient de f(x) au point spécifié.

Remarque

Le gradient ne peut être calculé que pour des valeurs de type à virgule flottante.

Derivative of a Function at a Point

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 1
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