Datentypen
Datentypen
In diesem Abschnitt wird das Konzept der Datentypen in TensorFlow behandelt. Ähnlich wie Programmiersprachen Zahlen und Text in Typen wie Integer, Float oder String unterteilen, verfügen auch Tensoren in TensorFlow über spezifische Typen.
Verfügbare Datentypen in TensorFlow
TensorFlow unterstützt eine Vielzahl von Datentypen, um verschiedene Arten von Daten und Operationen abzudecken. Zu den am häufigsten verwendeten Typen gehören:
-
tf.float16,tf.float32,tf.float64: Dies sind Gleitkommazahlen, bei denen die Nachkommastellen relevant sind. Die Zahl im Namen (wie16intf.float16) gibt die Anzahl der verwendeten Bits an.tf.float32wird häufig verwendet, da es ein gutes Gleichgewicht zwischen Genauigkeit 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' (vorzeichenlos), was bedeutet, dass diese Ganzzahlen immer nicht-negativ sind; -
tf.bool: Repräsentiert boolesche Werte (TrueoderFalse); -
tf.string: Für Textdaten.
Bei Ganzzahltypen bedeutet eine größere Zahl im Namen lediglich einen größeren Wertebereich, der gespeichert werden kann. Bei Gleitkommatypen weist eine höhere Zahl im Namen zudem auf eine höhere Rechengenauigkeit hin.
Es stehen weitere Datentypen in TensorFlow zur Verfügung, aber für Einsteiger ist es wichtig, sich zunächst mit diesen grundlegenden Typen vertraut zu machen. Eine vollständige Liste der von TensorFlow unterstützten Datentypen finden Sie auf dieser speziellen Seite in der TensorFlow-Dokumentation.
Festlegen des Datentyps beim Erstellen eines Tensors
Beim Initialisieren eines Tensors kann der Typ mit dem Argument dtype angegeben werden:
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)
Viele Funktionen zur Tensor-Erstellung verwenden diesen Ansatz. Er findet Anwendung in Methoden wie tf.Variable(), tf.zeros(), tf.ones(), tf.random.normal(), tf.random.uniform() und sogar in tf.convert_to_tensor().
Konvertierung zwischen Datentypen
Was ist jedoch, wenn die verwendete Funktion keine direkte Angabe des Datentyps erlaubt? Oder Sie besitzen bereits einen Tensor eines bestimmten Typs und müssen diesen ändern. In solchen Fällen ist es notwendig, Tensoren von einem Datentyp in einen anderen zu transformieren. Dies ist besonders relevant, da bestimmte Operationen oder Schichten in neuronalen Netzwerken häufig Eingaben eines bestimmten Typs verlangen, überwiegend Gleitkommazahlen.
Hierfür kann tf.cast() verwendet werden:
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)
Beachten Sie, dass beim Konvertieren von einem Gleitkommatyp zu einem Ganzzahltyp TensorFlow eine Abrundung nach unten durchführt, wobei der Dezimalteil entfernt wird. So wird aus 3.8 die 3 und aus -1.2 die -1.
Vorsicht beim Ändern von Datentypen, insbesondere beim Wechsel zu einem Typ mit geringerer Genauigkeit. Es kann dabei zu Informationsverlusten kommen.
Swipe to start coding
Ihre Aufgabe besteht darin, einen Tensor mit einem bestimmten Datentyp zu erstellen und diesen anschließend in einen anderen Datentyp zu konvertieren.
- Erstellen Sie einen Tensor mit dem Namen
initial_tensorund der Form(3, 3)mit normalverteilten Werten. Stellen Sie sicher, dass dieser Tensor den Datentyp 64-Bit-Gleitkommazahlen besitzt. - Wandeln Sie den
initial_tensorin einen Tensor namensconverted_tensormit dem Datentyp 16-Bit-Gleitkommazahlen um.
Lösung
Danke für Ihr Feedback!
single
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Großartig!
Completion Rate verbessert auf 6.25
Datentypen
Swipe um das Menü anzuzeigen
Datentypen
In diesem Abschnitt wird das Konzept der Datentypen in TensorFlow behandelt. Ähnlich wie Programmiersprachen Zahlen und Text in Typen wie Integer, Float oder String unterteilen, verfügen auch Tensoren in TensorFlow über spezifische Typen.
Verfügbare Datentypen in TensorFlow
TensorFlow unterstützt eine Vielzahl von Datentypen, um verschiedene Arten von Daten und Operationen abzudecken. Zu den am häufigsten verwendeten Typen gehören:
-
tf.float16,tf.float32,tf.float64: Dies sind Gleitkommazahlen, bei denen die Nachkommastellen relevant sind. Die Zahl im Namen (wie16intf.float16) gibt die Anzahl der verwendeten Bits an.tf.float32wird häufig verwendet, da es ein gutes Gleichgewicht zwischen Genauigkeit 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' (vorzeichenlos), was bedeutet, dass diese Ganzzahlen immer nicht-negativ sind; -
tf.bool: Repräsentiert boolesche Werte (TrueoderFalse); -
tf.string: Für Textdaten.
Bei Ganzzahltypen bedeutet eine größere Zahl im Namen lediglich einen größeren Wertebereich, der gespeichert werden kann. Bei Gleitkommatypen weist eine höhere Zahl im Namen zudem auf eine höhere Rechengenauigkeit hin.
Es stehen weitere Datentypen in TensorFlow zur Verfügung, aber für Einsteiger ist es wichtig, sich zunächst mit diesen grundlegenden Typen vertraut zu machen. Eine vollständige Liste der von TensorFlow unterstützten Datentypen finden Sie auf dieser speziellen Seite in der TensorFlow-Dokumentation.
Festlegen des Datentyps beim Erstellen eines Tensors
Beim Initialisieren eines Tensors kann der Typ mit dem Argument dtype angegeben werden:
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)
Viele Funktionen zur Tensor-Erstellung verwenden diesen Ansatz. Er findet Anwendung in Methoden wie tf.Variable(), tf.zeros(), tf.ones(), tf.random.normal(), tf.random.uniform() und sogar in tf.convert_to_tensor().
Konvertierung zwischen Datentypen
Was ist jedoch, wenn die verwendete Funktion keine direkte Angabe des Datentyps erlaubt? Oder Sie besitzen bereits einen Tensor eines bestimmten Typs und müssen diesen ändern. In solchen Fällen ist es notwendig, Tensoren von einem Datentyp in einen anderen zu transformieren. Dies ist besonders relevant, da bestimmte Operationen oder Schichten in neuronalen Netzwerken häufig Eingaben eines bestimmten Typs verlangen, überwiegend Gleitkommazahlen.
Hierfür kann tf.cast() verwendet werden:
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)
Beachten Sie, dass beim Konvertieren von einem Gleitkommatyp zu einem Ganzzahltyp TensorFlow eine Abrundung nach unten durchführt, wobei der Dezimalteil entfernt wird. So wird aus 3.8 die 3 und aus -1.2 die -1.
Vorsicht beim Ändern von Datentypen, insbesondere beim Wechsel zu einem Typ mit geringerer Genauigkeit. Es kann dabei zu Informationsverlusten kommen.
Swipe to start coding
Ihre Aufgabe besteht darin, einen Tensor mit einem bestimmten Datentyp zu erstellen und diesen anschließend in einen anderen Datentyp zu konvertieren.
- Erstellen Sie einen Tensor mit dem Namen
initial_tensorund der Form(3, 3)mit normalverteilten Werten. Stellen Sie sicher, dass dieser Tensor den Datentyp 64-Bit-Gleitkommazahlen besitzt. - Wandeln Sie den
initial_tensorin einen Tensor namensconverted_tensormit dem Datentyp 16-Bit-Gleitkommazahlen um.
Lösung
Danke für Ihr Feedback!
single