Kursinhalt
Einführung in TensorFlow
Einführung in TensorFlow
Datentypen
Datentypen
Willkommen zurück, Entdecker des TensorFlow-Reichs! Die heutige Aufgabe besteht darin, die Welt der Datentypen in TensorFlow zu erkunden. Genau wie Zahlen und Texte in Programmiersprachen verschiedene Typen haben (wie Integer, Float oder String), haben Tensors ihre eigenen Typen.
Verfügbare Datentypen in TensorFlow
TensorFlow unterstützt eine Vielzahl von Datentypen, um unterschiedlichen Arten von Daten und Operationen gerecht zu werden. Einige der am häufigsten verwendeten Typen sind:
-
tf.float16
,tf.float32
,tf.float64
: Dies sind Gleitkommazahlen, bei denen die Zahlen nach dem Punkt wichtig sind. Die Zahl in ihrem Namen (wie16
intf.float16
) gibt die Anzahl der verwendeten Bits an.tf.float32
wird häufig verwendet, da es ein gutes Gleichgewicht zwischen Präzision und Rechengeschwindigkeit bietet; -
tf.int8
,tf.int16
,tf.int32
,tf.int64
: Dies sind Ganzzahltypen, Zahlen ohne Dezimalpunkt. Sie können sowohl positiv als auch negativ sein; -
tf.uint8
,tf.uint16
,tf.uint32
,tf.uint64
: Das 'u' steht hier für 'unsigned', was bedeutet, dass diese Ganzzahlen immer nicht negativ sind; -
tf.bool
: Repräsentiert boolesche Werte (True
oderFalse
); -
tf.string
: Für Textdaten.
Hinweis
Bei Ganzzahltypen bedeutet eine größere Zahl im Namen nur einen größeren Wertebereich, den sie speichern kann. Bei Gleitkommatypen weist eine höhere Zahl im Namen jedoch auch auf eine größere Rechengenauigkeit hin.
Es gibt mehr Datentypen in TensorFlow, aber für Anfänger ist es wichtig, sich zuerst mit diesen primären Typen vertraut zu machen. Für eine umfassende Liste der von TensorFlow unterstützten Datentypen sollten Sie diese spezielle Seite in der TensorFlow-Dokumentation ansehen.
Festlegen des Datentyps beim Erstellen eines Tensors
Wenn Sie einen Tensor initialisieren, können Sie seinen Typ mit dem dtype
-Argument angeben:
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)
Hinweis
Viele Tensor-Erstellungsfunktionen verwenden diesen Ansatz. Es ist anwendbar in Methoden wie
tf.Variable()
,tf.zeros()
,tf.ones()
,tf.random.normal()
,tf.random.uniform()
und sogar intf.convert_to_tensor()
.
Konvertierung zwischen Datentypen
Aber was ist, wenn die Funktion, die Sie verwenden, keine direkte Datentypenspezifikation zulässt? Oder vielleicht besitzen Sie bereits einen Tensor eines bestimmten Typs und müssen ihn ändern. In diesen Fällen müssen Sie Tensoren von einem Datentyp in einen anderen umwandeln. Dies ist besonders relevant, da bestimmte neuronale Netzwerkoperationen oder -schichten oft Eingaben eines bestimmten Typs erfordern, vorwiegend Gleitkommazahlen.
Sie können tf.cast()
verwenden, um dies zu erreichen:
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)
Denken Sie daran, dass TensorFlow beim Konvertieren von einem Gleitkomma-Typ zu einem Ganzzahl-Typ eine Abrundung nach unten durchführt und den Dezimalteil im Wesentlichen entfernt. So wird 3.8
zu 3
und -1.2
zu -1
.
Hinweis
Seien Sie vorsichtig beim Ändern von Datentypen, insbesondere wenn Sie zu einem Typ mit geringerer Genauigkeit wechseln. Sie könnten dabei Informationen verlieren.
Swipe to start coding
Ihre Aufgabe besteht darin, einen Tensor eines bestimmten Datentyps zu erstellen und ihn dann in einen anderen Datentyp zu konvertieren.
- Erstellen Sie einen Tensor namens
initial_tensor
mit der Form(3, 3)
mit normalverteilten Werten. Stellen Sie sicher, dass dieser Tensor einen Datentyp von 64-Bit-Gleitkommawerten besitzt. - Transformieren Sie den
initial_tensor
in einen Tensor namensconverted_tensor
mit einem Datentyp von 16-Bit-Gleitkommawerten.
Lösung
Danke für Ihr Feedback!
Datentypen
Datentypen
Willkommen zurück, Entdecker des TensorFlow-Reichs! Die heutige Aufgabe besteht darin, die Welt der Datentypen in TensorFlow zu erkunden. Genau wie Zahlen und Texte in Programmiersprachen verschiedene Typen haben (wie Integer, Float oder String), haben Tensors ihre eigenen Typen.
Verfügbare Datentypen in TensorFlow
TensorFlow unterstützt eine Vielzahl von Datentypen, um unterschiedlichen Arten von Daten und Operationen gerecht zu werden. Einige der am häufigsten verwendeten Typen sind:
-
tf.float16
,tf.float32
,tf.float64
: Dies sind Gleitkommazahlen, bei denen die Zahlen nach dem Punkt wichtig sind. Die Zahl in ihrem Namen (wie16
intf.float16
) gibt die Anzahl der verwendeten Bits an.tf.float32
wird häufig verwendet, da es ein gutes Gleichgewicht zwischen Präzision und Rechengeschwindigkeit bietet; -
tf.int8
,tf.int16
,tf.int32
,tf.int64
: Dies sind Ganzzahltypen, Zahlen ohne Dezimalpunkt. Sie können sowohl positiv als auch negativ sein; -
tf.uint8
,tf.uint16
,tf.uint32
,tf.uint64
: Das 'u' steht hier für 'unsigned', was bedeutet, dass diese Ganzzahlen immer nicht negativ sind; -
tf.bool
: Repräsentiert boolesche Werte (True
oderFalse
); -
tf.string
: Für Textdaten.
Hinweis
Bei Ganzzahltypen bedeutet eine größere Zahl im Namen nur einen größeren Wertebereich, den sie speichern kann. Bei Gleitkommatypen weist eine höhere Zahl im Namen jedoch auch auf eine größere Rechengenauigkeit hin.
Es gibt mehr Datentypen in TensorFlow, aber für Anfänger ist es wichtig, sich zuerst mit diesen primären Typen vertraut zu machen. Für eine umfassende Liste der von TensorFlow unterstützten Datentypen sollten Sie diese spezielle Seite in der TensorFlow-Dokumentation ansehen.
Festlegen des Datentyps beim Erstellen eines Tensors
Wenn Sie einen Tensor initialisieren, können Sie seinen Typ mit dem dtype
-Argument angeben:
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)
Hinweis
Viele Tensor-Erstellungsfunktionen verwenden diesen Ansatz. Es ist anwendbar in Methoden wie
tf.Variable()
,tf.zeros()
,tf.ones()
,tf.random.normal()
,tf.random.uniform()
und sogar intf.convert_to_tensor()
.
Konvertierung zwischen Datentypen
Aber was ist, wenn die Funktion, die Sie verwenden, keine direkte Datentypenspezifikation zulässt? Oder vielleicht besitzen Sie bereits einen Tensor eines bestimmten Typs und müssen ihn ändern. In diesen Fällen müssen Sie Tensoren von einem Datentyp in einen anderen umwandeln. Dies ist besonders relevant, da bestimmte neuronale Netzwerkoperationen oder -schichten oft Eingaben eines bestimmten Typs erfordern, vorwiegend Gleitkommazahlen.
Sie können tf.cast()
verwenden, um dies zu erreichen:
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)
Denken Sie daran, dass TensorFlow beim Konvertieren von einem Gleitkomma-Typ zu einem Ganzzahl-Typ eine Abrundung nach unten durchführt und den Dezimalteil im Wesentlichen entfernt. So wird 3.8
zu 3
und -1.2
zu -1
.
Hinweis
Seien Sie vorsichtig beim Ändern von Datentypen, insbesondere wenn Sie zu einem Typ mit geringerer Genauigkeit wechseln. Sie könnten dabei Informationen verlieren.
Swipe to start coding
Ihre Aufgabe besteht darin, einen Tensor eines bestimmten Datentyps zu erstellen und ihn dann in einen anderen Datentyp zu konvertieren.
- Erstellen Sie einen Tensor namens
initial_tensor
mit der Form(3, 3)
mit normalverteilten Werten. Stellen Sie sicher, dass dieser Tensor einen Datentyp von 64-Bit-Gleitkommawerten besitzt. - Transformieren Sie den
initial_tensor
in einen Tensor namensconverted_tensor
mit einem Datentyp von 16-Bit-Gleitkommawerten.
Lösung
Danke für Ihr Feedback!