Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Création de Tenseurs | Tenseurs
Introduction à TensorFlow

bookCréation de Tenseurs

Création de tenseurs

Cette leçon porte sur la création de tenseurs à l'aide de TensorFlow. TensorFlow propose de nombreuses méthodes pour initialiser des tenseurs. À la fin de cette leçon, vous maîtriserez la génération de tenseurs pour un large éventail d'applications.

Initialisateurs de tenseurs de base

  • tf.constant() : méthode la plus simple pour créer un tenseur. Comme son nom l'indique, les tenseurs initialisés avec cette méthode contiennent des valeurs constantes et sont immuables ;
12345
import tensorflow as tf # Create a 2x2 constant tensor tensor_const = tf.constant([[1, 2], [3, 4]]) print(tensor_const)
copy
  • tf.Variable() : contrairement à tf.constant(), un tenseur défini avec tf.Variable() est mutable. Cela signifie que sa valeur peut être modifiée, ce qui le rend idéal pour des paramètres entraînables dans les modèles ;
12345
import tensorflow as tf # Create a variable tensor tensor_var = tf.Variable([[1, 2], [3, 4]]) print(tensor_var)
copy
  • tf.zeros() : créer un tenseur rempli de zéros ;
12345
import tensorflow as tf # Zero tensor of shape (3, 3) tensor_zeros = tf.zeros((3, 3)) print(tensor_zeros)
copy
  • tf.ones() : à l'inverse, crée un tenseur rempli de uns ;
12345
import tensorflow as tf # Ones tensor of shape (2, 2) tensor_ones = tf.ones((2, 2)) print(tensor_ones)
copy
  • tf.fill() : crée un tenseur rempli d'une valeur spécifique ;
12345
import tensorflow as tf # Tensor of shape (2, 2) filled with 6 tensor_fill = tf.fill((2, 2), 6) print(tensor_fill)
copy
  • tf.linspace() et tf.range() : très utiles pour créer des séquences ;
123456789
import tensorflow as tf # Generate a sequence of numbers starting from 0, ending at 9 tensor_range = tf.range(10) print(tensor_range) # Create 5 equally spaced values between 0 and 10 tensor_linspace = tf.linspace(0, 10, 5) print(tensor_linspace)
copy
  • tf.random : génère des tenseurs avec des valeurs aléatoires. Plusieurs distributions et fonctions sont disponibles dans ce module, comme tf.random.normal() pour des valeurs issues d'une distribution normale, et tf.random.uniform() pour des valeurs issues d'une distribution uniforme.
Note
Remarque

Il est également possible de définir une graine fixe afin d'obtenir des résultats cohérents à chaque génération de nombre aléatoire en utilisant tf.random.set_seed(). Cependant, notez qu'en procédant ainsi, vous obtiendrez le même nombre pour toute génération aléatoire au sein de TensorFlow.

Pour obtenir des nombres cohérents uniquement pour une commande spécifique, il est possible de fournir un argument seed à cette commande avec la valeur de graine souhaitée.

1234567891011121314
import tensorflow as tf # Set random seed tf.random.set_seed(72) # Tensor of shape (2, 2) with random values normally distributed # (by default `mean=0` and `std=1`) tensor_random = tf.random.normal((2, 2), mean=4, stddev=0.5) print(tensor_random) # Tensor of shape (2, 2) with random values uniformly distributed # (by default `min=0` and `max=1`) tensor_random = tf.random.uniform((2, 2), minval=-2, maxval=2) print(tensor_random)
copy

Conversion entre structures de données

Les tenseurs TensorFlow peuvent être convertis facilement vers et depuis des structures de données Python familières.

  • Depuis des tableaux Numpy : Les tenseurs TensorFlow et les tableaux Numpy sont très interopérables. Utiliser tf.convert_to_tensor() ;
12345678910
import numpy as np import tensorflow as tf # Create a NumPy array based on a Python list numpy_array = np.array([[1, 2], [3, 4]]) # Convert a NumPy array to a tensor tensor_from_np = tf.convert_to_tensor(numpy_array) print(tensor_from_np)
copy
  • À partir de DataFrames Pandas : pour ceux qui apprécient l’analyse de données avec Pandas, la conversion d’un DataFrame ou d’une Series en tenseur TensorFlow est simple. Utiliser également tf.convert_to_tensor() ;
12345678910
import pandas as pd import tensorflow as tf # Create a DataFrame based on dictionary df = pd.DataFrame({'A': [1, 2], 'B': [3, 4]}) # Convert a DataFrame to a tensor tensor_from_df = tf.convert_to_tensor(df.values) print(tensor_from_df)
copy
Note
Remarque

Toujours vérifier que les types de données de vos structures d’origine (tableaux Numpy ou DataFrames Pandas) sont compatibles avec les types de données des tenseurs TensorFlow. En cas d’incompatibilité, envisager un transtypage.

  • Conversion d'un tenseur constant en Variable : possibilité d'initialiser une Variable à l'aide de différentes méthodes de création de tenseurs telles que tf.ones(), tf.linspace(), tf.random, etc. Il suffit de passer la fonction ou le tenseur préexistant à tf.Variable().
12345678910111213
import tensorflow as tf # Create a variable from a tensor tensor = tf.random.normal((2, 3)) variable_1 = tf.Variable(tensor) # Create a variable based on other generator variable_2 = tf.Variable(tf.zeros((2, 2))) # Display tensors print(variable_1) print('-' * 50) print(variable_2)
copy

Pour améliorer la création de tenseurs, s'exercer avec différentes formes et valeurs. Pour plus de détails sur des commandes spécifiques, consulter la documentation TensorFlow. Toutes les informations nécessaires concernant chaque commande ou module de la bibliothèque y sont disponibles.

Tâche

Swipe to start coding

Votre tâche consiste à créer, modifier et convertir divers tenseurs à l'aide de TensorFlow.

Partie 1 — Initialisation des tenseurs

  1. Créer un tenseur nommé tensor_A de forme (3, 3) dont tous les éléments sont égaux à 5.
  2. Créer un tenseur mutable nommé tensor_B de forme (2, 3) avec des valeurs de votre choix.
  3. Créer un tenseur nommé tensor_C de forme (3, 3) rempli de zéros.
  4. Créer un tenseur nommé tensor_D de forme (4, 4) rempli de uns.
  5. Créer un tenseur nommé tensor_E contenant 5 valeurs espacées linéairement entre 3 et 15.
  6. Créer un tenseur nommé tensor_F avec des valeurs aléatoires et de forme (2, 2).

Partie 2 — Conversions

  1. Convertir le tableau NumPy np_array en un tenseur TensorFlow nommé tensor_from_array.
  2. Convertir le DataFrame df en un tenseur TensorFlow nommé tensor_from_dataframe.

Remarque

  • Utiliser les fonctions TensorFlow les plus appropriées pour chaque opération :
  • tf.fill() pour les tenseurs avec une seule valeur répétée ;
  • tf.Variable() pour les tenseurs mutables ;
  • tf.zeros() / tf.ones() pour les tenseurs remplis de zéros ou de uns ;
  • tf.linspace() pour les tenseurs à valeurs espacées linéairement ;
  • tf.random.normal() pour les tenseurs aléatoires ;
  • Utiliser tf.convert_to_tensor() pour les conversions à partir de tableaux NumPy ou de DataFrames pandas ;
  • Éviter d'utiliser tf.constant() — privilégier les fonctions spécifiques listées ci-dessus.

Solution

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 6
single

single

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Suggested prompts:

Can you explain the difference between tf.constant() and tf.Variable() in more detail?

How do I choose which tensor initializer to use for my application?

Can you show more examples of creating tensors with different shapes or values?

close

Awesome!

Completion rate improved to 5.56

bookCréation de Tenseurs

Glissez pour afficher le menu

Création de tenseurs

Cette leçon porte sur la création de tenseurs à l'aide de TensorFlow. TensorFlow propose de nombreuses méthodes pour initialiser des tenseurs. À la fin de cette leçon, vous maîtriserez la génération de tenseurs pour un large éventail d'applications.

Initialisateurs de tenseurs de base

  • tf.constant() : méthode la plus simple pour créer un tenseur. Comme son nom l'indique, les tenseurs initialisés avec cette méthode contiennent des valeurs constantes et sont immuables ;
12345
import tensorflow as tf # Create a 2x2 constant tensor tensor_const = tf.constant([[1, 2], [3, 4]]) print(tensor_const)
copy
  • tf.Variable() : contrairement à tf.constant(), un tenseur défini avec tf.Variable() est mutable. Cela signifie que sa valeur peut être modifiée, ce qui le rend idéal pour des paramètres entraînables dans les modèles ;
12345
import tensorflow as tf # Create a variable tensor tensor_var = tf.Variable([[1, 2], [3, 4]]) print(tensor_var)
copy
  • tf.zeros() : créer un tenseur rempli de zéros ;
12345
import tensorflow as tf # Zero tensor of shape (3, 3) tensor_zeros = tf.zeros((3, 3)) print(tensor_zeros)
copy
  • tf.ones() : à l'inverse, crée un tenseur rempli de uns ;
12345
import tensorflow as tf # Ones tensor of shape (2, 2) tensor_ones = tf.ones((2, 2)) print(tensor_ones)
copy
  • tf.fill() : crée un tenseur rempli d'une valeur spécifique ;
12345
import tensorflow as tf # Tensor of shape (2, 2) filled with 6 tensor_fill = tf.fill((2, 2), 6) print(tensor_fill)
copy
  • tf.linspace() et tf.range() : très utiles pour créer des séquences ;
123456789
import tensorflow as tf # Generate a sequence of numbers starting from 0, ending at 9 tensor_range = tf.range(10) print(tensor_range) # Create 5 equally spaced values between 0 and 10 tensor_linspace = tf.linspace(0, 10, 5) print(tensor_linspace)
copy
  • tf.random : génère des tenseurs avec des valeurs aléatoires. Plusieurs distributions et fonctions sont disponibles dans ce module, comme tf.random.normal() pour des valeurs issues d'une distribution normale, et tf.random.uniform() pour des valeurs issues d'une distribution uniforme.
Note
Remarque

Il est également possible de définir une graine fixe afin d'obtenir des résultats cohérents à chaque génération de nombre aléatoire en utilisant tf.random.set_seed(). Cependant, notez qu'en procédant ainsi, vous obtiendrez le même nombre pour toute génération aléatoire au sein de TensorFlow.

Pour obtenir des nombres cohérents uniquement pour une commande spécifique, il est possible de fournir un argument seed à cette commande avec la valeur de graine souhaitée.

1234567891011121314
import tensorflow as tf # Set random seed tf.random.set_seed(72) # Tensor of shape (2, 2) with random values normally distributed # (by default `mean=0` and `std=1`) tensor_random = tf.random.normal((2, 2), mean=4, stddev=0.5) print(tensor_random) # Tensor of shape (2, 2) with random values uniformly distributed # (by default `min=0` and `max=1`) tensor_random = tf.random.uniform((2, 2), minval=-2, maxval=2) print(tensor_random)
copy

Conversion entre structures de données

Les tenseurs TensorFlow peuvent être convertis facilement vers et depuis des structures de données Python familières.

  • Depuis des tableaux Numpy : Les tenseurs TensorFlow et les tableaux Numpy sont très interopérables. Utiliser tf.convert_to_tensor() ;
12345678910
import numpy as np import tensorflow as tf # Create a NumPy array based on a Python list numpy_array = np.array([[1, 2], [3, 4]]) # Convert a NumPy array to a tensor tensor_from_np = tf.convert_to_tensor(numpy_array) print(tensor_from_np)
copy
  • À partir de DataFrames Pandas : pour ceux qui apprécient l’analyse de données avec Pandas, la conversion d’un DataFrame ou d’une Series en tenseur TensorFlow est simple. Utiliser également tf.convert_to_tensor() ;
12345678910
import pandas as pd import tensorflow as tf # Create a DataFrame based on dictionary df = pd.DataFrame({'A': [1, 2], 'B': [3, 4]}) # Convert a DataFrame to a tensor tensor_from_df = tf.convert_to_tensor(df.values) print(tensor_from_df)
copy
Note
Remarque

Toujours vérifier que les types de données de vos structures d’origine (tableaux Numpy ou DataFrames Pandas) sont compatibles avec les types de données des tenseurs TensorFlow. En cas d’incompatibilité, envisager un transtypage.

  • Conversion d'un tenseur constant en Variable : possibilité d'initialiser une Variable à l'aide de différentes méthodes de création de tenseurs telles que tf.ones(), tf.linspace(), tf.random, etc. Il suffit de passer la fonction ou le tenseur préexistant à tf.Variable().
12345678910111213
import tensorflow as tf # Create a variable from a tensor tensor = tf.random.normal((2, 3)) variable_1 = tf.Variable(tensor) # Create a variable based on other generator variable_2 = tf.Variable(tf.zeros((2, 2))) # Display tensors print(variable_1) print('-' * 50) print(variable_2)
copy

Pour améliorer la création de tenseurs, s'exercer avec différentes formes et valeurs. Pour plus de détails sur des commandes spécifiques, consulter la documentation TensorFlow. Toutes les informations nécessaires concernant chaque commande ou module de la bibliothèque y sont disponibles.

Tâche

Swipe to start coding

Votre tâche consiste à créer, modifier et convertir divers tenseurs à l'aide de TensorFlow.

Partie 1 — Initialisation des tenseurs

  1. Créer un tenseur nommé tensor_A de forme (3, 3) dont tous les éléments sont égaux à 5.
  2. Créer un tenseur mutable nommé tensor_B de forme (2, 3) avec des valeurs de votre choix.
  3. Créer un tenseur nommé tensor_C de forme (3, 3) rempli de zéros.
  4. Créer un tenseur nommé tensor_D de forme (4, 4) rempli de uns.
  5. Créer un tenseur nommé tensor_E contenant 5 valeurs espacées linéairement entre 3 et 15.
  6. Créer un tenseur nommé tensor_F avec des valeurs aléatoires et de forme (2, 2).

Partie 2 — Conversions

  1. Convertir le tableau NumPy np_array en un tenseur TensorFlow nommé tensor_from_array.
  2. Convertir le DataFrame df en un tenseur TensorFlow nommé tensor_from_dataframe.

Remarque

  • Utiliser les fonctions TensorFlow les plus appropriées pour chaque opération :
  • tf.fill() pour les tenseurs avec une seule valeur répétée ;
  • tf.Variable() pour les tenseurs mutables ;
  • tf.zeros() / tf.ones() pour les tenseurs remplis de zéros ou de uns ;
  • tf.linspace() pour les tenseurs à valeurs espacées linéairement ;
  • tf.random.normal() pour les tenseurs aléatoires ;
  • Utiliser tf.convert_to_tensor() pour les conversions à partir de tableaux NumPy ou de DataFrames pandas ;
  • Éviter d'utiliser tf.constant() — privilégier les fonctions spécifiques listées ci-dessus.

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 1. Chapitre 6
single

single

some-alt