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

Kursinhalt

Einführung in TensorFlow

Einführung in TensorFlow

1. Tensoren
2. Grundlagen von TensorFlow

book
Erstellen von Tensors

Erstellen von Tensors

Willkommen zurück! Jetzt, da Sie mit Tensors vertraut sind, ist es an der Zeit, sie zu erstellen. TensorFlow bietet eine Vielzahl von Möglichkeiten, Tensors zu initialisieren. Am Ende dieser Lektion werden Sie mit der Erstellung von Tensors für eine Vielzahl von Anwendungen vertraut sein.

Grundlegende Tensor-Initialisierer

  • tf.constant(): Dies ist der einfachste Weg, einen Tensor zu erstellen. Wie der Name schon sagt, halten mit dieser Methode initialisierte Tensoren konstante Werte und sind unveränderlich;
12345
import tensorflow as tf # Create a 2x2 constant tensor tensor_const = tf.constant([[1, 2], [3, 4]]) print(tensor_const)
copy
  • tf.Variable(): Im Gegensatz zu tf.constant() ist ein Tensor, der mit tf.Variable() definiert wird, veränderlich. Das bedeutet, dass sein Wert geändert werden kann, was ihn perfekt für Dinge wie 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)
copy
  • tf.zeros(): Erstellen Sie einen Tensor, der mit Nullen gefüllt ist;
12345
import tensorflow as tf # Zero tensor of shape (3, 3) tensor_zeros = tf.zeros((3, 3)) print(tensor_zeros)
copy
  • tf.ones(): Im Gegensatz dazu wird ein Tensor erstellt, der mit Einsen gefüllt ist;
12345
import tensorflow as tf # Ones tensor of shape (2, 2) tensor_ones = tf.ones((2, 2)) print(tensor_ones)
copy
  • tf.fill(): Erstellt einen Tensor, der mit einem bestimmten Wert gefüllt ist;
12345
import tensorflow as tf # Tensor of shape (2, 2) filled with 6 tensor_fill = tf.fill((2, 2), 6) print(tensor_fill)
copy
  • tf.linspace() und tf.range(): Diese sind fantastisch, um Sequenzen zu erstellen;
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)
copy
  • tf.random: Generiert Tensors mit Zufallswerten. Mehrere Verteilungen und Funktionen sind in diesem Modul verfügbar, wie tf.random.normal() für Werte aus einer Normalverteilung und tf.random.uniform() für Werte aus einer Gleichverteilung.

Hinweis

Sie können auch einen festen Seed setzen, um konsistente Ergebnisse bei jeder Zufallszahlengenerierung zu erhalten, indem Sie tf.random.set_seed() verwenden. Beachten Sie jedoch, dass Sie dadurch dieselbe Zahl für jede Zufallsgenerierung innerhalb von TensorFlow erhalten.

Wenn Sie konsistente Zahlen nur für einen bestimmten Befehl erreichen möchten, können Sie diesem Befehl ein seed-Argument mit dem gewünschten Seed-Wert übergeben.

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)
copy

Konvertierung zwischen Datenstrukturen

TensorFlow-Tensoren können nahtlos in und aus vertrauten Python-Datenstrukturen konvertiert werden.

  • Von Numpy-Arrays: TensorFlow-Tensoren und Numpy-Arrays sind ziemlich 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)
copy
  • Von Pandas DataFrames: Für diejenigen, die Fans der Datenanalyse mit Pandas sind, ist das Konvertieren eines DataFrame oder einer Series in einen TensorFlow-Tensor einfach. 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)
copy

Hinweis

Stellen Sie immer sicher, dass die Datentypen Ihrer ursprünglichen Strukturen (Numpy-Arrays oder Pandas DataFrames) kompatibel mit den TensorFlow-Tensor-Datentypen sind. Wenn es eine Diskrepanz gibt, ziehen Sie eine Typumwandlung in Betracht.

  • Konvertieren eines konstanten Tensors in eine Variable: Sie können eine Variable mit verschiedenen Tensor-Erstellungsmethoden wie tf.ones(), tf.linspace(), tf.random usw. initialisieren. Ü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)
copy

Denken Sie daran, Übung macht den Meister! Versuchen Sie, Tensors mit unterschiedlichen Formen und Werten zu erstellen, um ein besseres Verständnis für diese Konzepte zu bekommen. Wenn Sie sich weiter in einen bestimmten Befehl vertiefen möchten, schauen Sie sich die offizielle TensorFlow-Dokumentation an. Dort finden Sie umfassende Informationen zu jedem Befehl oder Modul innerhalb der Bibliothek.

Aufgabe

Swipe to start coding

In Ordnung! Lassen Sie uns Ihr neu erworbenes Wissen über die Erstellung und Umwandlung von Tensors auf die Probe stellen. Hier ist Ihre Herausforderung:

  1. Tensor-Initialisierung

    • Erstellen Sie einen Tensor namens tensor_A mit der Form (3,3), der alle Elemente als 5 hat.
    • Erstellen Sie einen veränderbaren Tensor namens tensor_B mit der Form (2,3), der mit beliebigen Werten Ihrer Wahl initialisiert wird.
    • Erstellen Sie einen Tensor namens tensor_C mit der Form (3,3), der mit Nullen gefüllt ist.
    • Erstellen Sie einen Tensor namens tensor_D mit der Form (4,4), der mit Einsen gefüllt ist.
    • Erstellen Sie einen Tensor namens tensor_E, der 5 gleichmäßig verteilte Werte zwischen 3 und 15 hat.
    • Erstellen Sie einen Tensor namens tensor_F mit zufälligen Werten und der Form (2,2).
  2. Umwandlungen

    • Gegeben das NumPy-Array np_array, konvertieren Sie es in einen TensorFlow-Tensor namens tensor_from_array.
    • Konvertieren Sie das DataFrame df in einen Tensor namens tensor_from_dataframe.

Hinweis

Stellen Sie sicher, dass Sie die am besten geeigneten Befehle für die jeweilige Situation verwenden (z.B. ein Array, das mit Einsen gefüllt ist, mit tf.ones() erstellen, anstatt tf.fill()).

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
toggle bottom row

book
Erstellen von Tensors

Erstellen von Tensors

Willkommen zurück! Jetzt, da Sie mit Tensors vertraut sind, ist es an der Zeit, sie zu erstellen. TensorFlow bietet eine Vielzahl von Möglichkeiten, Tensors zu initialisieren. Am Ende dieser Lektion werden Sie mit der Erstellung von Tensors für eine Vielzahl von Anwendungen vertraut sein.

Grundlegende Tensor-Initialisierer

  • tf.constant(): Dies ist der einfachste Weg, einen Tensor zu erstellen. Wie der Name schon sagt, halten mit dieser Methode initialisierte Tensoren konstante Werte und sind unveränderlich;
12345
import tensorflow as tf # Create a 2x2 constant tensor tensor_const = tf.constant([[1, 2], [3, 4]]) print(tensor_const)
copy
  • tf.Variable(): Im Gegensatz zu tf.constant() ist ein Tensor, der mit tf.Variable() definiert wird, veränderlich. Das bedeutet, dass sein Wert geändert werden kann, was ihn perfekt für Dinge wie 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)
copy
  • tf.zeros(): Erstellen Sie einen Tensor, der mit Nullen gefüllt ist;
12345
import tensorflow as tf # Zero tensor of shape (3, 3) tensor_zeros = tf.zeros((3, 3)) print(tensor_zeros)
copy
  • tf.ones(): Im Gegensatz dazu wird ein Tensor erstellt, der mit Einsen gefüllt ist;
12345
import tensorflow as tf # Ones tensor of shape (2, 2) tensor_ones = tf.ones((2, 2)) print(tensor_ones)
copy
  • tf.fill(): Erstellt einen Tensor, der mit einem bestimmten Wert gefüllt ist;
12345
import tensorflow as tf # Tensor of shape (2, 2) filled with 6 tensor_fill = tf.fill((2, 2), 6) print(tensor_fill)
copy
  • tf.linspace() und tf.range(): Diese sind fantastisch, um Sequenzen zu erstellen;
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)
copy
  • tf.random: Generiert Tensors mit Zufallswerten. Mehrere Verteilungen und Funktionen sind in diesem Modul verfügbar, wie tf.random.normal() für Werte aus einer Normalverteilung und tf.random.uniform() für Werte aus einer Gleichverteilung.

Hinweis

Sie können auch einen festen Seed setzen, um konsistente Ergebnisse bei jeder Zufallszahlengenerierung zu erhalten, indem Sie tf.random.set_seed() verwenden. Beachten Sie jedoch, dass Sie dadurch dieselbe Zahl für jede Zufallsgenerierung innerhalb von TensorFlow erhalten.

Wenn Sie konsistente Zahlen nur für einen bestimmten Befehl erreichen möchten, können Sie diesem Befehl ein seed-Argument mit dem gewünschten Seed-Wert übergeben.

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)
copy

Konvertierung zwischen Datenstrukturen

TensorFlow-Tensoren können nahtlos in und aus vertrauten Python-Datenstrukturen konvertiert werden.

  • Von Numpy-Arrays: TensorFlow-Tensoren und Numpy-Arrays sind ziemlich 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)
copy
  • Von Pandas DataFrames: Für diejenigen, die Fans der Datenanalyse mit Pandas sind, ist das Konvertieren eines DataFrame oder einer Series in einen TensorFlow-Tensor einfach. 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)
copy

Hinweis

Stellen Sie immer sicher, dass die Datentypen Ihrer ursprünglichen Strukturen (Numpy-Arrays oder Pandas DataFrames) kompatibel mit den TensorFlow-Tensor-Datentypen sind. Wenn es eine Diskrepanz gibt, ziehen Sie eine Typumwandlung in Betracht.

  • Konvertieren eines konstanten Tensors in eine Variable: Sie können eine Variable mit verschiedenen Tensor-Erstellungsmethoden wie tf.ones(), tf.linspace(), tf.random usw. initialisieren. Ü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)
copy

Denken Sie daran, Übung macht den Meister! Versuchen Sie, Tensors mit unterschiedlichen Formen und Werten zu erstellen, um ein besseres Verständnis für diese Konzepte zu bekommen. Wenn Sie sich weiter in einen bestimmten Befehl vertiefen möchten, schauen Sie sich die offizielle TensorFlow-Dokumentation an. Dort finden Sie umfassende Informationen zu jedem Befehl oder Modul innerhalb der Bibliothek.

Aufgabe

Swipe to start coding

In Ordnung! Lassen Sie uns Ihr neu erworbenes Wissen über die Erstellung und Umwandlung von Tensors auf die Probe stellen. Hier ist Ihre Herausforderung:

  1. Tensor-Initialisierung

    • Erstellen Sie einen Tensor namens tensor_A mit der Form (3,3), der alle Elemente als 5 hat.
    • Erstellen Sie einen veränderbaren Tensor namens tensor_B mit der Form (2,3), der mit beliebigen Werten Ihrer Wahl initialisiert wird.
    • Erstellen Sie einen Tensor namens tensor_C mit der Form (3,3), der mit Nullen gefüllt ist.
    • Erstellen Sie einen Tensor namens tensor_D mit der Form (4,4), der mit Einsen gefüllt ist.
    • Erstellen Sie einen Tensor namens tensor_E, der 5 gleichmäßig verteilte Werte zwischen 3 und 15 hat.
    • Erstellen Sie einen Tensor namens tensor_F mit zufälligen Werten und der Form (2,2).
  2. Umwandlungen

    • Gegeben das NumPy-Array np_array, konvertieren Sie es in einen TensorFlow-Tensor namens tensor_from_array.
    • Konvertieren Sie das DataFrame df in einen Tensor namens tensor_from_dataframe.

Hinweis

Stellen Sie sicher, dass Sie die am besten geeigneten Befehle für die jeweilige Situation verwenden (z.B. ein Array, das mit Einsen gefüllt ist, mit tf.ones() erstellen, anstatt tf.fill()).

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
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
We're sorry to hear that something went wrong. What happened?
some-alt