Gegevenstypen
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 (zoals16
intf.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
ofFalse
); -
tf.string
: voor tekstuele data.
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
:
123456789101112import 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)
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:
123456789101112import 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)
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
.
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.
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.
- 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. - Zet de
initial_tensor
om naar een tensor genaamdconverted_tensor
met een gegevenstype van 16-bits zwevendekommagetallen.
Oplossing
Bedankt voor je feedback!
single
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
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?
Awesome!
Completion rate improved to 5.56
Gegevenstypen
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 (zoals16
intf.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
ofFalse
); -
tf.string
: voor tekstuele data.
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
:
123456789101112import 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)
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:
123456789101112import 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)
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
.
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.
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.
- 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. - Zet de
initial_tensor
om naar een tensor genaamdconverted_tensor
met een gegevenstype van 16-bits zwevendekommagetallen.
Oplossing
Bedankt voor je feedback!
single