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
course content

Contenu du cours

Introduction à TensorFlow

Introduction à TensorFlow

1. Tenseurs
2. Notions de Base de TensorFlow

book
Création de Tenseurs

Création de Tenseurs

Bienvenue à nouveau ! Maintenant que vous êtes familier avec ce que sont les tenseurs, il est temps de commencer à les créer. TensorFlow offre une multitude de façons d'initialiser des tenseurs. À la fin de cette leçon, vous serez bien informé sur la génération de tenseurs pour une variété d'applications.

Initialisateurs de Tenseur de Base

  • tf.constant(): C'est la manière la plus simple de 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 à l'aide de tf.Variable() est mutable. Cela signifie que sa valeur peut être modifiée, ce qui le rend parfait pour des éléments tels que les 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ée 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(): Inversement, cela 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 avec 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() : Ceux-ci sont fantastiques 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 d'une distribution normale, et tf.random.uniform() pour des valeurs d'une distribution uniforme.

Remarque

Vous pouvez également définir une graine fixe pour obtenir des résultats cohérents à chaque génération de nombre aléatoire en utilisant tf.random.set_seed(). Cependant, sachez qu'en faisant cela, vous recevrez le même nombre pour toute génération aléatoire au sein de TensorFlow.

Si vous souhaitez obtenir des nombres cohérents pour une commande spécifique uniquement, vous pouvez 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 les structures de données

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

  • À partir des tableaux Numpy : Les tenseurs TensorFlow et les tableaux Numpy sont assez interopérables. Utilisez 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 des DataFrames Pandas : Pour ceux qui sont fans de l'analyse de données avec Pandas, convertir un DataFrame ou une Series en tenseur TensorFlow est simple. Utilisez é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

Remarque

Assurez-vous toujours 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. S'il y a une incompatibilité, envisagez un transtypage.

  • Convertir un tenseur constant en Variable : Vous pouvez initialiser une Variable en utilisant diverses 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

Rappelez-vous, la pratique rend parfait ! Essayez donc de créer des tenseurs avec différentes formes et valeurs pour mieux comprendre ces concepts. Si vous souhaitez approfondir une commande spécifique, envisagez de consulter la documentation officielle de TensorFlow. Vous y trouverez des informations complètes sur toute commande ou module de la bibliothèque.

Tâche

Swipe to start coding

D'accord ! Mettons à l'épreuve vos nouvelles connaissances sur la création et la conversion de tenseurs. Voici votre défi :

  1. Initialisation de Tenseur

    • Créez un tenseur nommé tensor_A avec la forme (3,3) ayant tous les éléments égaux à 5.
    • Créez un tenseur modifiable nommé tensor_B avec la forme (2,3) initialisé avec des valeurs de votre choix.
    • Créez un tenseur nommé tensor_C avec la forme (3,3) rempli de zéros.
    • Créez un tenseur nommé tensor_D avec la forme (4,4) rempli de uns.
    • Créez un tenseur nommé tensor_E qui a 5 valeurs réparties linéairement entre 3 et 15.
    • Créez un tenseur nommé tensor_F avec des valeurs aléatoires et la forme (2,2).
  2. Conversions

    • Étant donné le tableau NumPy np_array, convertissez-le en un tenseur TensorFlow nommé tensor_from_array.
    • Convertissez le DataFrame df en un tenseur nommé tensor_from_dataframe.

Remarque

Assurez-vous d'utiliser les commandes les plus appropriées pour la situation (par exemple, créez un tableau rempli de uns en utilisant tf.ones() plutôt que tf.fill()).

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

book
Création de Tenseurs

Création de Tenseurs

Bienvenue à nouveau ! Maintenant que vous êtes familier avec ce que sont les tenseurs, il est temps de commencer à les créer. TensorFlow offre une multitude de façons d'initialiser des tenseurs. À la fin de cette leçon, vous serez bien informé sur la génération de tenseurs pour une variété d'applications.

Initialisateurs de Tenseur de Base

  • tf.constant(): C'est la manière la plus simple de 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 à l'aide de tf.Variable() est mutable. Cela signifie que sa valeur peut être modifiée, ce qui le rend parfait pour des éléments tels que les 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ée 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(): Inversement, cela 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 avec 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() : Ceux-ci sont fantastiques 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 d'une distribution normale, et tf.random.uniform() pour des valeurs d'une distribution uniforme.

Remarque

Vous pouvez également définir une graine fixe pour obtenir des résultats cohérents à chaque génération de nombre aléatoire en utilisant tf.random.set_seed(). Cependant, sachez qu'en faisant cela, vous recevrez le même nombre pour toute génération aléatoire au sein de TensorFlow.

Si vous souhaitez obtenir des nombres cohérents pour une commande spécifique uniquement, vous pouvez 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 les structures de données

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

  • À partir des tableaux Numpy : Les tenseurs TensorFlow et les tableaux Numpy sont assez interopérables. Utilisez 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 des DataFrames Pandas : Pour ceux qui sont fans de l'analyse de données avec Pandas, convertir un DataFrame ou une Series en tenseur TensorFlow est simple. Utilisez é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

Remarque

Assurez-vous toujours 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. S'il y a une incompatibilité, envisagez un transtypage.

  • Convertir un tenseur constant en Variable : Vous pouvez initialiser une Variable en utilisant diverses 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

Rappelez-vous, la pratique rend parfait ! Essayez donc de créer des tenseurs avec différentes formes et valeurs pour mieux comprendre ces concepts. Si vous souhaitez approfondir une commande spécifique, envisagez de consulter la documentation officielle de TensorFlow. Vous y trouverez des informations complètes sur toute commande ou module de la bibliothèque.

Tâche

Swipe to start coding

D'accord ! Mettons à l'épreuve vos nouvelles connaissances sur la création et la conversion de tenseurs. Voici votre défi :

  1. Initialisation de Tenseur

    • Créez un tenseur nommé tensor_A avec la forme (3,3) ayant tous les éléments égaux à 5.
    • Créez un tenseur modifiable nommé tensor_B avec la forme (2,3) initialisé avec des valeurs de votre choix.
    • Créez un tenseur nommé tensor_C avec la forme (3,3) rempli de zéros.
    • Créez un tenseur nommé tensor_D avec la forme (4,4) rempli de uns.
    • Créez un tenseur nommé tensor_E qui a 5 valeurs réparties linéairement entre 3 et 15.
    • Créez un tenseur nommé tensor_F avec des valeurs aléatoires et la forme (2,2).
  2. Conversions

    • Étant donné le tableau NumPy np_array, convertissez-le en un tenseur TensorFlow nommé tensor_from_array.
    • Convertissez le DataFrame df en un tenseur nommé tensor_from_dataframe.

Remarque

Assurez-vous d'utiliser les commandes les plus appropriées pour la situation (par exemple, créez un tableau rempli de uns en utilisant tf.ones() plutôt que tf.fill()).

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