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

bookTypes de Données

Types de données

Dans cette section, exploration du concept de types de données dans TensorFlow. De la même manière que les langages de programmation classent les nombres et les textes en types tels qu'entiers, flottants ou chaînes de caractères, les tenseurs dans TensorFlow possèdent également des types spécifiques.

Types de données disponibles dans TensorFlow

TensorFlow prend en charge une multitude de types de données pour répondre à différents types de données et opérations. Parmi les types les plus couramment utilisés :

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

  • tf.int8, tf.int16, tf.int32, tf.int64 : types entiers, nombres sans virgule décimale. Peuvent être positifs ou négatifs ;

  • tf.uint8, tf.uint16, tf.uint32, tf.uint64 : 'u' signifie 'unsigned' (non signé), ces entiers sont donc toujours positifs ;

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

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

Note
Remarque

Pour les types entiers, un nombre plus élevé dans le nom indique simplement une plage de valeurs plus large pouvant être stockée. Pour les types à virgule flottante, un nombre plus élevé dans le nom indique également une précision de calcul supérieure.

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

Définition du type de données lors de la création d’un tenseur

Lors de l’initialisation d’un tenseur, il est possible de spécifier son type à l’aide de 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
Note
Remarque

De nombreuses fonctions de création de tenseurs adoptent cette approche. Elle s'applique 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 utilisée ne permet pas la spécification directe du type de données ? Ou peut-être possédez-vous déjà un tenseur d’un certain type et devez le modifier. Dans ces cas, il est nécessaire de transformer les tenseurs d’un type de données à un autre. Ceci 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.

La fonction tf.cast() permet d’effectuer cette opération :

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 que lors de la conversion d'un type à virgule flottante vers un type entier, TensorFlow effectue une opération d'arrondi inférieur, supprimant essentiellement la partie décimale. Ainsi, 3.8 devient 3, et -1.2 devient -1.

Note
Remarque

Soyez vigilant lors du changement de types de données, en particulier lors du passage à un type avec moins de précision. Vous pourriez perdre des informations au cours du 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 dans un autre type de données.

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

Solution

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 7
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:

What are some practical examples of when I would need to change a tensor's data type?

Can you explain the difference between signed and unsigned integer types in TensorFlow?

How do I check the data type of an existing tensor?

close

Awesome!

Completion rate improved to 5.56

bookTypes de Données

Glissez pour afficher le menu

Types de données

Dans cette section, exploration du concept de types de données dans TensorFlow. De la même manière que les langages de programmation classent les nombres et les textes en types tels qu'entiers, flottants ou chaînes de caractères, les tenseurs dans TensorFlow possèdent également des types spécifiques.

Types de données disponibles dans TensorFlow

TensorFlow prend en charge une multitude de types de données pour répondre à différents types de données et opérations. Parmi les types les plus couramment utilisés :

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

  • tf.int8, tf.int16, tf.int32, tf.int64 : types entiers, nombres sans virgule décimale. Peuvent être positifs ou négatifs ;

  • tf.uint8, tf.uint16, tf.uint32, tf.uint64 : 'u' signifie 'unsigned' (non signé), ces entiers sont donc toujours positifs ;

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

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

Note
Remarque

Pour les types entiers, un nombre plus élevé dans le nom indique simplement une plage de valeurs plus large pouvant être stockée. Pour les types à virgule flottante, un nombre plus élevé dans le nom indique également une précision de calcul supérieure.

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

Définition du type de données lors de la création d’un tenseur

Lors de l’initialisation d’un tenseur, il est possible de spécifier son type à l’aide de 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
Note
Remarque

De nombreuses fonctions de création de tenseurs adoptent cette approche. Elle s'applique 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 utilisée ne permet pas la spécification directe du type de données ? Ou peut-être possédez-vous déjà un tenseur d’un certain type et devez le modifier. Dans ces cas, il est nécessaire de transformer les tenseurs d’un type de données à un autre. Ceci 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.

La fonction tf.cast() permet d’effectuer cette opération :

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 que lors de la conversion d'un type à virgule flottante vers un type entier, TensorFlow effectue une opération d'arrondi inférieur, supprimant essentiellement la partie décimale. Ainsi, 3.8 devient 3, et -1.2 devient -1.

Note
Remarque

Soyez vigilant lors du changement de types de données, en particulier lors du passage à un type avec moins de précision. Vous pourriez perdre des informations au cours du 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 dans un autre type de données.

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

single

some-alt