Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Erstellen von Tensoren | Tensors
Einführung in TensorFlow
Abschnitt 1. Kapitel 6
single

single

Erstellen von Tensoren

Swipe um das Menü anzuzeigen

Erstellen von Tensoren

Diese Lektion behandelt das Erstellen von Tensoren mit TensorFlow. TensorFlow bietet zahlreiche Methoden zur Initialisierung von Tensoren. Am Ende dieser Lektion besteht Sicherheit im Erzeugen von Tensoren für eine Vielzahl von Anwendungsfällen.

Grundlegende Tensor-Initialisierer

  • tf.constant(): dies ist die einfachste Methode, einen Tensor zu erstellen. Wie der Name schon sagt, enthalten Tensoren, die mit dieser Methode initialisiert werden, konstante Werte und sind unveränderlich;
Konstanten
12345
import tensorflow as tf # Create a 2x2 constant tensor tensor_const = tf.constant([[1, 2], [3, 4]]) print(tensor_const)
  • tf.Variable(): Im Gegensatz zu tf.constant() ist ein mit tf.Variable() definierter Tensor veränderbar. Das bedeutet, sein Wert kann geändert werden, was ihn ideal für trainierbare Parameter in Modellen macht;
12345
import tensorflow as tf # Create a variable tensor tensor_var = tf.Variable([[1, 2], [3, 4]]) print(tensor_var)
  • tf.zeros(): Erzeugung eines Tensors, der nur Nullen enthält;
Nullen
12345
import tensorflow as tf # Zero tensor of shape (3, 3) tensor_zeros = tf.zeros((3, 3)) print(tensor_zeros)
  • tf.ones(): im Gegensatz dazu wird hier ein Tensor erstellt, der nur Einsen enthält;
Einsen
12345
import tensorflow as tf # Ones tensor of shape (2, 2) tensor_ones = tf.ones((2, 2)) print(tensor_ones)
  • tf.fill(): erstellt einen Tensor, der mit einem bestimmten Wert gefüllt ist;
gefüllt
12345
import tensorflow as tf # Tensor of shape (2, 2) filled with 6 tensor_fill = tf.fill((2, 2), 6) print(tensor_fill)
  • tf.linspace() und tf.range(): ideal zur Erstellung von Zahlenfolgen;
Bereiche
123456789
import tensorflow as tf # Generate a sequence of numbers starting from 0, ending at 9 tensor_range = tf.range(10) print(tensor_range) # Create 5 equally spaced values between 0 and 10 tensor_linspace = tf.linspace(0, 10, 5) print(tensor_linspace)
  • tf.random: erzeugt Tensoren mit Zufallswerten. In diesem Modul stehen verschiedene Verteilungen und Funktionen zur Verfügung, wie tf.random.normal() für Werte aus einer Normalverteilung und tf.random.uniform() für Werte aus einer Gleichverteilung.
Note
Hinweis

Es kann auch ein fester Seed gesetzt werden, um bei jeder Zufallszahlengenerierung konsistente Ergebnisse mit tf.random.set_seed() zu erhalten. Beachten Sie jedoch, dass dadurch bei jeder Zufallsgenerierung innerhalb von TensorFlow die gleiche Zahl erzeugt wird.

Um konsistente Zahlen nur für einen bestimmten Befehl zu erhalten, kann dem jeweiligen Befehl ein seed-Argument mit dem gewünschten Seed-Wert übergeben werden.

1234567891011121314
import tensorflow as tf # Set random seed tf.random.set_seed(72) # Tensor of shape (2, 2) with random values normally distributed # (by default `mean=0` and `std=1`) tensor_random = tf.random.normal((2, 2), mean=4, stddev=0.5) print(tensor_random) # Tensor of shape (2, 2) with random values uniformly distributed # (by default `min=0` and `max=1`) tensor_random = tf.random.uniform((2, 2), minval=-2, maxval=2) print(tensor_random)

Konvertierung zwischen Datenstrukturen

TensorFlow-Tensoren können nahtlos in vertraute Python-Datenstrukturen umgewandelt werden und umgekehrt.

  • Aus Numpy-Arrays: TensorFlow-Tensoren und Numpy-Arrays sind sehr interoperabel. Verwenden Sie tf.convert_to_tensor();
12345678910
import numpy as np import tensorflow as tf # Create a NumPy array based on a Python list numpy_array = np.array([[1, 2], [3, 4]]) # Convert a NumPy array to a tensor tensor_from_np = tf.convert_to_tensor(numpy_array) print(tensor_from_np)
  • Aus Pandas DataFrames: Für Anwender, die gerne mit Pandas Daten analysieren, ist die Umwandlung eines DataFrame oder einer Series in einen TensorFlow-Tensor unkompliziert. Verwenden Sie ebenfalls tf.convert_to_tensor();
12345678910
import pandas as pd import tensorflow as tf # Create a DataFrame based on dictionary df = pd.DataFrame({'A': [1, 2], 'B': [3, 4]}) # Convert a DataFrame to a tensor tensor_from_df = tf.convert_to_tensor(df.values) print(tensor_from_df)
Note
Hinweis

Stellen Sie stets sicher, dass die Datentypen Ihrer ursprünglichen Strukturen (Numpy-Arrays oder Pandas DataFrames) kompatibel mit den TensorFlow-Tensor-Datentypen sind. Bei einer Abweichung sollte eine Typumwandlung in Betracht gezogen werden.

  • Konvertieren eines konstanten Tensors in eine Variable: Eine Variable kann mit verschiedenen Methoden zur Tensor-Erstellung wie tf.ones(), tf.linspace(), tf.random usw. initialisiert werden. Übergeben Sie einfach die Funktion oder den bereits vorhandenen Tensor an tf.Variable().
12345678910111213
import tensorflow as tf # Create a variable from a tensor tensor = tf.random.normal((2, 3)) variable_1 = tf.Variable(tensor) # Create a variable based on other generator variable_2 = tf.Variable(tf.zeros((2, 2))) # Display tensors print(variable_1) print('-' * 50) print(variable_2)

Um das Erstellen von Tensoren zu üben, empfiehlt sich das Arbeiten mit verschiedenen Formen und Werten. Ausführliche Informationen zu bestimmten Befehlen finden sich in der offiziellen TensorFlow-Dokumentation. Dort sind alle Informationen zu jedem Befehl oder Modul der Bibliothek verfügbar.

Aufgabe

Wischen, um mit dem Codieren zu beginnen

Ihre Aufgabe ist es, verschiedene Tensoren mit TensorFlow zu erstellen, zu modifizieren und zu konvertieren.

Teil 1 — Initialisierung von Tensoren

  1. Erstellen Sie einen Tensor mit dem Namen tensor_A mit der Form (3, 3) und allen Elementen gleich 5.
  2. Erstellen Sie einen veränderbaren Tensor mit dem Namen tensor_B mit der Form (2, 3) und beliebigen Werten Ihrer Wahl.
  3. Erstellen Sie einen Tensor mit dem Namen tensor_C mit der Form (3, 3), gefüllt mit Nullen.
  4. Erstellen Sie einen Tensor mit dem Namen tensor_D mit der Form (4, 4), gefüllt mit Einsen.
  5. Erstellen Sie einen Tensor mit dem Namen tensor_E mit 5 linear verteilten Werten zwischen 3 und 15.
  6. Erstellen Sie einen Tensor mit dem Namen tensor_F mit zufälligen Werten und der Form (2, 2).

Teil 2 — Konvertierungen

  1. Konvertieren Sie das NumPy-Array np_array in einen TensorFlow-Tensor mit dem Namen tensor_from_array.
  2. Konvertieren Sie das DataFrame df in einen TensorFlow-Tensor mit dem Namen tensor_from_dataframe.

Hinweis

  • Verwenden Sie die jeweils geeignetsten TensorFlow-Funktionen für jede Operation:
  • tf.fill() für Tensoren mit einem einzelnen wiederholten Wert;
  • tf.Variable() für veränderbare Tensoren;
  • tf.zeros() / tf.ones() für mit Nullen bzw. Einsen gefüllte Tensoren;
  • tf.linspace() für linear verteilte Tensoren;
  • tf.random.normal() für zufällige Tensoren;
  • Verwenden Sie tf.convert_to_tensor() für Konvertierungen von NumPy-Arrays oder pandas DataFrames;
  • Vermeiden Sie die Verwendung von tf.constant() — nutzen Sie stattdessen die oben aufgeführten spezifischeren Funktionen.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 6
single

single

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

some-alt