Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Types de Données | Tenseurs
Introduction à TensorFlow
course content

Contenu du cours

Introduction à TensorFlow

Introduction à TensorFlow

1. Tenseurs
2. Notions de Base de TensorFlow

book
Types de Données

Types de données

Bienvenue, explorateurs du royaume de TensorFlow ! La quête d'aujourd'hui consiste à naviguer dans le monde des types de données dans TensorFlow. Tout comme les nombres et le texte ont divers types dans les langages de programmation (comme les entiers, les flottants ou les chaînes de caractères), les tenseurs ont leur propre ensemble de types.

Types de données disponibles dans TensorFlow

TensorFlow prend en charge une pléthore de types de données pour répondre à différents types de données et opérations. Certains des types les plus couramment utilisés sont :

  • tf.float16, tf.float32, tf.float64 : Ce sont des nombres à virgule flottante où les chiffres après le point sont importants. Le nombre dans leur nom (comme 16 dans tf.float16) vous indique le nombre de bits utilisés. tf.float32 est couramment utilisé car il offre un bon équilibre entre précision et vitesse de calcul ;

  • tf.int8, tf.int16, tf.int32, tf.int64 : Ce sont des types entiers, des nombres sans point décimal. Ils peuvent être à la fois positifs et négatifs ;

  • tf.uint8, tf.uint16, tf.uint32, tf.uint64 : 'u' ici signifie 'non signé', ce qui signifie que ces entiers sont toujours non négatifs ;

  • tf.bool : Représente des valeurs booléennes (True ou False) ;

  • tf.string : Pour les données textuelles.

Remarque

Pour les types entiers, un nombre plus grand dans le nom signifie seulement une plage de valeurs plus large qu'il peut stocker. Mais pour les types à virgule flottante, un nombre plus élevé dans le nom indique également une plus grande précision de calcul.

Il existe plus de types de données disponibles dans TensorFlow, mais pour les débutants, il est crucial de se familiariser d'abord avec ces types principaux. Pour une liste complète des types de données pris en charge par TensorFlow, envisagez de consulter cette page spécifique dans la documentation TensorFlow.

Définir le type de données lors de la création d'un tenseur

Lorsque vous initialisez un tenseur, vous pouvez spécifier son type en utilisant l'argument dtype :

123456789101112
import tensorflow as tf # Creating a tensor of type `float16` tensor_float = tf.constant([1.2, 2.3, 3.4], dtype=tf.float16) # Creating a tensor of type `int64` tensor_int = tf.constant([1, 2, 3], dtype=tf.int64) # Display tensors print(tensor_float) print('-' * 50) print(tensor_int)
copy

Remarque

De nombreuses fonctions de création de tenseurs adoptent cette approche. Elle est applicable dans des méthodes telles que tf.Variable(), tf.zeros(), tf.ones(), tf.random.normal(), tf.random.uniform(), et même dans tf.convert_to_tensor().

Conversion entre les types de données

Mais que faire si la fonction que vous utilisez ne permet pas de spécification directe du type de données ? Ou peut-être possédez-vous déjà un tenseur d'un certain type et avez besoin de le changer. Dans ces cas, vous devrez transformer les tenseurs d'un type de données à un autre. Cela est particulièrement pertinent car certaines opérations ou couches de réseaux neuronaux exigent souvent des entrées d'un type particulier, principalement des nombres à virgule flottante.

Vous pouvez utiliser tf.cast() pour y parvenir :

123456789101112
import tensorflow as tf # Create a tensor tensor_float = tf.constant([-1.2, 2.3, 3.8]) # Convert our `tensor_float` from `float32` to `int32` tensor_int_converted = tf.cast(tensor_float, dtype=tf.int32) # Display a tensor print(tensor_float) print('-' * 50) print(tensor_int_converted)
copy

Rappelez-vous, lors de la conversion d'un type à virgule flottante à un type entier, TensorFlow effectuera une opération de plancher, supprimant essentiellement la partie décimale. Ainsi, 3.8 devient 3, et -1.2 devient -1.

Remarque

Soyez prudent lors du changement de types de données, surtout lorsque vous passez à un type avec moins de précision. Vous pourriez perdre des informations dans le processus.

Tâche

Swipe to start coding

Votre tâche consiste à créer un tenseur d'un type de données spécifique, puis à le convertir en un autre type de données.

  1. Créez un tenseur nommé initial_tensor de forme (3, 3) avec des valeurs normalement distribuées. Assurez-vous que ce tenseur possède un type de données de valeurs à virgule flottante 64 bits.
  2. Transformez le initial_tensor en un tenseur appelé converted_tensor avec un type de données de valeurs à virgule flottante 16 bits.

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

book
Types de Données

Types de données

Bienvenue, explorateurs du royaume de TensorFlow ! La quête d'aujourd'hui consiste à naviguer dans le monde des types de données dans TensorFlow. Tout comme les nombres et le texte ont divers types dans les langages de programmation (comme les entiers, les flottants ou les chaînes de caractères), les tenseurs ont leur propre ensemble de types.

Types de données disponibles dans TensorFlow

TensorFlow prend en charge une pléthore de types de données pour répondre à différents types de données et opérations. Certains des types les plus couramment utilisés sont :

  • tf.float16, tf.float32, tf.float64 : Ce sont des nombres à virgule flottante où les chiffres après le point sont importants. Le nombre dans leur nom (comme 16 dans tf.float16) vous indique le nombre de bits utilisés. tf.float32 est couramment utilisé car il offre un bon équilibre entre précision et vitesse de calcul ;

  • tf.int8, tf.int16, tf.int32, tf.int64 : Ce sont des types entiers, des nombres sans point décimal. Ils peuvent être à la fois positifs et négatifs ;

  • tf.uint8, tf.uint16, tf.uint32, tf.uint64 : 'u' ici signifie 'non signé', ce qui signifie que ces entiers sont toujours non négatifs ;

  • tf.bool : Représente des valeurs booléennes (True ou False) ;

  • tf.string : Pour les données textuelles.

Remarque

Pour les types entiers, un nombre plus grand dans le nom signifie seulement une plage de valeurs plus large qu'il peut stocker. Mais pour les types à virgule flottante, un nombre plus élevé dans le nom indique également une plus grande précision de calcul.

Il existe plus de types de données disponibles dans TensorFlow, mais pour les débutants, il est crucial de se familiariser d'abord avec ces types principaux. Pour une liste complète des types de données pris en charge par TensorFlow, envisagez de consulter cette page spécifique dans la documentation TensorFlow.

Définir le type de données lors de la création d'un tenseur

Lorsque vous initialisez un tenseur, vous pouvez spécifier son type en utilisant l'argument dtype :

123456789101112
import tensorflow as tf # Creating a tensor of type `float16` tensor_float = tf.constant([1.2, 2.3, 3.4], dtype=tf.float16) # Creating a tensor of type `int64` tensor_int = tf.constant([1, 2, 3], dtype=tf.int64) # Display tensors print(tensor_float) print('-' * 50) print(tensor_int)
copy

Remarque

De nombreuses fonctions de création de tenseurs adoptent cette approche. Elle est applicable dans des méthodes telles que tf.Variable(), tf.zeros(), tf.ones(), tf.random.normal(), tf.random.uniform(), et même dans tf.convert_to_tensor().

Conversion entre les types de données

Mais que faire si la fonction que vous utilisez ne permet pas de spécification directe du type de données ? Ou peut-être possédez-vous déjà un tenseur d'un certain type et avez besoin de le changer. Dans ces cas, vous devrez transformer les tenseurs d'un type de données à un autre. Cela est particulièrement pertinent car certaines opérations ou couches de réseaux neuronaux exigent souvent des entrées d'un type particulier, principalement des nombres à virgule flottante.

Vous pouvez utiliser tf.cast() pour y parvenir :

123456789101112
import tensorflow as tf # Create a tensor tensor_float = tf.constant([-1.2, 2.3, 3.8]) # Convert our `tensor_float` from `float32` to `int32` tensor_int_converted = tf.cast(tensor_float, dtype=tf.int32) # Display a tensor print(tensor_float) print('-' * 50) print(tensor_int_converted)
copy

Rappelez-vous, lors de la conversion d'un type à virgule flottante à un type entier, TensorFlow effectuera une opération de plancher, supprimant essentiellement la partie décimale. Ainsi, 3.8 devient 3, et -1.2 devient -1.

Remarque

Soyez prudent lors du changement de types de données, surtout lorsque vous passez à un type avec moins de précision. Vous pourriez perdre des informations dans le processus.

Tâche

Swipe to start coding

Votre tâche consiste à créer un tenseur d'un type de données spécifique, puis à le convertir en un autre type de données.

  1. Créez un tenseur nommé initial_tensor de forme (3, 3) avec des valeurs normalement distribuées. Assurez-vous que ce tenseur possède un type de données de valeurs à virgule flottante 64 bits.
  2. Transformez le initial_tensor en un tenseur appelé converted_tensor avec un type de données de valeurs à virgule flottante 16 bits.

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