Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Gegevenstypen | Tensoren
Introductie tot TensorFlow

bookGegevenstypen

Gegevenstypen

In deze sectie wordt het concept van gegevenstypen in TensorFlow behandeld. Net zoals programmeertalen getallen en tekst onderverdelen in typen zoals gehele getallen, kommagetallen of strings, hebben tensors in TensorFlow ook specifieke typen.

Beschikbare gegevenstypen in TensorFlow

TensorFlow ondersteunt een groot aantal gegevenstypen voor verschillende soorten data en bewerkingen. Enkele van de meest gebruikte typen zijn:

  • tf.float16, tf.float32, tf.float64: dit zijn kommagetallen waarbij de cijfers na de punt van belang zijn. Het getal in de naam (zoals 16 in tf.float16) geeft het aantal bits aan dat wordt gebruikt. tf.float32 wordt vaak gebruikt omdat het een goed evenwicht biedt tussen precisie en rekensnelheid;

  • tf.int8, tf.int16, tf.int32, tf.int64: dit zijn gehele getallen, getallen zonder decimaal punt. Ze kunnen zowel positief als negatief zijn;

  • tf.uint8, tf.uint16, tf.uint32, tf.uint64: 'u' staat hier voor 'unsigned', wat betekent dat deze gehele getallen altijd niet-negatief zijn;

  • tf.bool: vertegenwoordigt booleaanse waarden (True of False);

  • tf.string: voor tekstuele data.

Note
Opmerking

Voor gehele getallen geeft een hoger getal in de naam alleen een groter bereik aan waarden aan die kunnen worden opgeslagen. Voor kommagetallen duidt een hoger getal in de naam ook op een grotere rekenkundige nauwkeurigheid.

Er zijn meer gegevenstypen beschikbaar in TensorFlow, maar voor beginners is het essentieel om eerst vertrouwd te raken met deze primaire typen. Voor een volledig overzicht van de door TensorFlow ondersteunde gegevenstypen, raadpleeg deze specifieke pagina in de TensorFlow-documentatie.

Het gegevenstype instellen bij het aanmaken van een tensor

Bij het initialiseren van een tensor kan het type worden gespecificeerd met het 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
Opmerking

Veel tensor-creatiefuncties hanteren deze aanpak. Dit is van toepassing op methoden zoals tf.Variable(), tf.zeros(), tf.ones(), tf.random.normal(), tf.random.uniform() en zelfs op tf.convert_to_tensor().

Converteren tussen gegevenstypen

Maar wat als de functie die u gebruikt geen directe specificatie van het gegevenstype toestaat? Of misschien beschikt u al over een tensor van een bepaald type en moet u dit wijzigen. In deze gevallen is het noodzakelijk om tensors van het ene gegevenstype naar het andere te transformeren. Dit is met name relevant omdat bepaalde neurale netwerkbewerkingen of -lagen vaak invoer van een specifiek type vereisen, meestal kommagetallen.

Gebruik tf.cast() om dit te realiseren:

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

Onthoud dat bij het omzetten van een floating-point type naar een integer type, TensorFlow een floor-operatie uitvoert, waarbij het decimale gedeelte wordt weggelaten. Dus, 3.8 wordt 3 en -1.2 wordt -1.

Note
Opmerking

Wees voorzichtig bij het wijzigen van datatypes, vooral wanneer u overschakelt naar een type met minder precisie. Er kan informatie verloren gaan tijdens dit proces.

Taak

Swipe to start coding

Uw taak is om een tensor van een specifiek gegevenstype te maken en deze vervolgens naar een ander gegevenstype te converteren.

  1. Maak een tensor genaamd initial_tensor met vorm (3, 3) met normaal verdeelde waarden. Zorg ervoor dat deze tensor een gegevenstype van 64-bits zwevendekommagetallen heeft.
  2. Zet de initial_tensor om naar een tensor genaamd converted_tensor met een gegevenstype van 16-bits zwevendekommagetallen.

Oplossing

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 7
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

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

bookGegevenstypen

Veeg om het menu te tonen

Gegevenstypen

In deze sectie wordt het concept van gegevenstypen in TensorFlow behandeld. Net zoals programmeertalen getallen en tekst onderverdelen in typen zoals gehele getallen, kommagetallen of strings, hebben tensors in TensorFlow ook specifieke typen.

Beschikbare gegevenstypen in TensorFlow

TensorFlow ondersteunt een groot aantal gegevenstypen voor verschillende soorten data en bewerkingen. Enkele van de meest gebruikte typen zijn:

  • tf.float16, tf.float32, tf.float64: dit zijn kommagetallen waarbij de cijfers na de punt van belang zijn. Het getal in de naam (zoals 16 in tf.float16) geeft het aantal bits aan dat wordt gebruikt. tf.float32 wordt vaak gebruikt omdat het een goed evenwicht biedt tussen precisie en rekensnelheid;

  • tf.int8, tf.int16, tf.int32, tf.int64: dit zijn gehele getallen, getallen zonder decimaal punt. Ze kunnen zowel positief als negatief zijn;

  • tf.uint8, tf.uint16, tf.uint32, tf.uint64: 'u' staat hier voor 'unsigned', wat betekent dat deze gehele getallen altijd niet-negatief zijn;

  • tf.bool: vertegenwoordigt booleaanse waarden (True of False);

  • tf.string: voor tekstuele data.

Note
Opmerking

Voor gehele getallen geeft een hoger getal in de naam alleen een groter bereik aan waarden aan die kunnen worden opgeslagen. Voor kommagetallen duidt een hoger getal in de naam ook op een grotere rekenkundige nauwkeurigheid.

Er zijn meer gegevenstypen beschikbaar in TensorFlow, maar voor beginners is het essentieel om eerst vertrouwd te raken met deze primaire typen. Voor een volledig overzicht van de door TensorFlow ondersteunde gegevenstypen, raadpleeg deze specifieke pagina in de TensorFlow-documentatie.

Het gegevenstype instellen bij het aanmaken van een tensor

Bij het initialiseren van een tensor kan het type worden gespecificeerd met het 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
Opmerking

Veel tensor-creatiefuncties hanteren deze aanpak. Dit is van toepassing op methoden zoals tf.Variable(), tf.zeros(), tf.ones(), tf.random.normal(), tf.random.uniform() en zelfs op tf.convert_to_tensor().

Converteren tussen gegevenstypen

Maar wat als de functie die u gebruikt geen directe specificatie van het gegevenstype toestaat? Of misschien beschikt u al over een tensor van een bepaald type en moet u dit wijzigen. In deze gevallen is het noodzakelijk om tensors van het ene gegevenstype naar het andere te transformeren. Dit is met name relevant omdat bepaalde neurale netwerkbewerkingen of -lagen vaak invoer van een specifiek type vereisen, meestal kommagetallen.

Gebruik tf.cast() om dit te realiseren:

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

Onthoud dat bij het omzetten van een floating-point type naar een integer type, TensorFlow een floor-operatie uitvoert, waarbij het decimale gedeelte wordt weggelaten. Dus, 3.8 wordt 3 en -1.2 wordt -1.

Note
Opmerking

Wees voorzichtig bij het wijzigen van datatypes, vooral wanneer u overschakelt naar een type met minder precisie. Er kan informatie verloren gaan tijdens dit proces.

Taak

Swipe to start coding

Uw taak is om een tensor van een specifiek gegevenstype te maken en deze vervolgens naar een ander gegevenstype te converteren.

  1. Maak een tensor genaamd initial_tensor met vorm (3, 3) met normaal verdeelde waarden. Zorg ervoor dat deze tensor een gegevenstype van 64-bits zwevendekommagetallen heeft.
  2. Zet de initial_tensor om naar een tensor genaamd converted_tensor met een gegevenstype van 16-bits zwevendekommagetallen.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 7
single

single

some-alt