Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Lineare Algebra | Tensor Operations and Execution
Einführung in TensorFlow

bookLineare Algebra

Lineare Algebraoperationen

TensorFlow bietet eine Reihe von Funktionen für lineare Algebra-Operationen, die Matrixoperationen unkompliziert machen.

Matrixmultiplikation

Hier eine kurze Erinnerung daran, wie Matrixmultiplikation funktioniert.

Es gibt zwei gleichwertige Ansätze für die Matrixmultiplikation:

  • Die Funktion tf.matmul();
  • Die Verwendung des Operators @.
1234567891011121314
import tensorflow as tf # Create two matrices matrix1 = tf.constant([[1, 2], [3, 4], [2, 1]]) matrix2 = tf.constant([[2, 0, 2, 5], [2, 2, 1, 3]]) # Multiply the matrices product1 = tf.matmul(matrix1, matrix2) product2 = matrix1 @ matrix2 # Display tensors print(product1) print('-' * 50) print(product2)
copy
Note
Hinweis

Die Multiplikation von Matrizen der Größe 3x2 und 2x4 ergibt eine Matrix der Größe 3x4.

Matrixinversion

Die Inverse einer Matrix kann mit der Funktion tf.linalg.inv() berechnet werden. Zusätzlich wird eine grundlegende Eigenschaft der inversen Matrix überprüft.

123456789101112131415
import tensorflow as tf # Create 2x2 matrix matrix = tf.constant([[1., 2.], [3., 4.]]) # Compute the inverse of a matrix inverse_mat = tf.linalg.inv(matrix) # Check the result identity = matrix @ inverse_mat # Display tensors print(inverse_mat) print('-' * 50) print(identity)
copy
Note
Hinweis

Die Multiplikation einer Matrix mit ihrer Inversen ergibt eine Einheitsmatrix, die Einsen auf der Hauptdiagonalen und Nullen an allen anderen Stellen enthält. Darüber hinaus bietet das Modul tf.linalg eine breite Palette an linearen Algebra-Funktionen. Für weitere Informationen oder fortgeschrittene Operationen empfiehlt sich ein Blick in die offizielle Dokumentation.

Transponieren

Eine transponierte Matrix kann mit der Funktion tf.transpose() erzeugt werden.

123456789101112
import tensorflow as tf # Create a matrix 3x2 matrix = tf.constant([[1, 2], [3, 4], [2, 1]]) # Get the transpose of a matrix transposed = tf.transpose(matrix) # Display tensors print(matrix) print('-' * 40) print(transposed)
copy

Skalarprodukt

Das Skalarprodukt kann mit der Funktion tf.tensordot() berechnet werden. Durch Festlegen des Arguments axes kann ausgewählt werden, entlang welcher Achsen das Skalarprodukt berechnet wird. Zum Beispiel erhält man für zwei Vektoren mit axes=1 das klassische Skalarprodukt zwischen Vektoren. Wird hingegen axes=0 gesetzt, erhält man eine über die 0-Achse gebroadcastete Matrix:

1234567891011121314
import tensorflow as tf # Create two vectors matrix1 = tf.constant([1, 2, 3, 4]) matrix2 = tf.constant([2, 0, 2, 5]) # Compute the dot product of two tensors dot_product_axes1 = tf.tensordot(matrix1, matrix2, axes=1) dot_product_axes0 = tf.tensordot(matrix1, matrix2, axes=0) # Display tensors print(dot_product_axes1) print('-' * 40) print(dot_product_axes0)
copy
Note
Hinweis

Wenn Sie zwei Matrizen mit passenden Dimensionen (NxM @ MxK, wobei NxM die Dimensionen der ersten Matrix und MxK die der zweiten darstellt) nehmen und das Skalarprodukt entlang axes=1 berechnen, wird im Wesentlichen eine Matrixmultiplikation durchgeführt.

Aufgabe

Swipe to start coding

Hintergrund

Ein lineares Gleichungssystem kann in Matrixform durch die Gleichung dargestellt werden:

AX = B

Dabei gilt:

  • A ist eine Koeffizientenmatrix;
  • X ist eine Spaltenmatrix der Variablen;
  • B ist eine Spaltenmatrix, die die Werte auf der rechten Seite der Gleichungen darstellt.

Die Lösung dieses Systems kann mit folgender Formel gefunden werden:

X = A^-1 B

wobei A^-1 die Inverse der Matrix A ist.

Zielsetzung

Gegeben ist ein lineares Gleichungssystem, das mit TensorFlow gelöst werden soll. Das folgende Gleichungssystem ist gegeben:

  1. 2x + 3y - z = 1.
  2. 4x + y + 2z = 2.
  3. -x + 2y + 3z = 3.
Dot Product
  1. Darstellung des Gleichungssystems in Matrixform (Aufteilung in die Matrizen A und B).
  2. Mit TensorFlow die Inverse der Matrix A berechnen.
  3. Die Inverse der Matrix A mit der Matrix B multiplizieren, um die Lösungsmatrix X zu erhalten, die die Werte für x, y und z enthält.

Hinweis

Das Slicing in TensorFlow funktioniert ähnlich wie in NumPy. Daher ruft X[:, 0] alle Elemente aus der Spalte mit dem Index 0 ab. Auf das Slicing gehen wir später im Kurs noch genauer ein.

Lösung

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 2
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

Suggested prompts:

Can you explain the difference between tf.matmul() and the @ operator?

How do I know when to use tf.tensordot() instead of tf.matmul()?

Can you provide more examples of matrix operations in TensorFlow?

close

Awesome!

Completion rate improved to 6.25

bookLineare Algebra

Swipe um das Menü anzuzeigen

Lineare Algebraoperationen

TensorFlow bietet eine Reihe von Funktionen für lineare Algebra-Operationen, die Matrixoperationen unkompliziert machen.

Matrixmultiplikation

Hier eine kurze Erinnerung daran, wie Matrixmultiplikation funktioniert.

Es gibt zwei gleichwertige Ansätze für die Matrixmultiplikation:

  • Die Funktion tf.matmul();
  • Die Verwendung des Operators @.
1234567891011121314
import tensorflow as tf # Create two matrices matrix1 = tf.constant([[1, 2], [3, 4], [2, 1]]) matrix2 = tf.constant([[2, 0, 2, 5], [2, 2, 1, 3]]) # Multiply the matrices product1 = tf.matmul(matrix1, matrix2) product2 = matrix1 @ matrix2 # Display tensors print(product1) print('-' * 50) print(product2)
copy
Note
Hinweis

Die Multiplikation von Matrizen der Größe 3x2 und 2x4 ergibt eine Matrix der Größe 3x4.

Matrixinversion

Die Inverse einer Matrix kann mit der Funktion tf.linalg.inv() berechnet werden. Zusätzlich wird eine grundlegende Eigenschaft der inversen Matrix überprüft.

123456789101112131415
import tensorflow as tf # Create 2x2 matrix matrix = tf.constant([[1., 2.], [3., 4.]]) # Compute the inverse of a matrix inverse_mat = tf.linalg.inv(matrix) # Check the result identity = matrix @ inverse_mat # Display tensors print(inverse_mat) print('-' * 50) print(identity)
copy
Note
Hinweis

Die Multiplikation einer Matrix mit ihrer Inversen ergibt eine Einheitsmatrix, die Einsen auf der Hauptdiagonalen und Nullen an allen anderen Stellen enthält. Darüber hinaus bietet das Modul tf.linalg eine breite Palette an linearen Algebra-Funktionen. Für weitere Informationen oder fortgeschrittene Operationen empfiehlt sich ein Blick in die offizielle Dokumentation.

Transponieren

Eine transponierte Matrix kann mit der Funktion tf.transpose() erzeugt werden.

123456789101112
import tensorflow as tf # Create a matrix 3x2 matrix = tf.constant([[1, 2], [3, 4], [2, 1]]) # Get the transpose of a matrix transposed = tf.transpose(matrix) # Display tensors print(matrix) print('-' * 40) print(transposed)
copy

Skalarprodukt

Das Skalarprodukt kann mit der Funktion tf.tensordot() berechnet werden. Durch Festlegen des Arguments axes kann ausgewählt werden, entlang welcher Achsen das Skalarprodukt berechnet wird. Zum Beispiel erhält man für zwei Vektoren mit axes=1 das klassische Skalarprodukt zwischen Vektoren. Wird hingegen axes=0 gesetzt, erhält man eine über die 0-Achse gebroadcastete Matrix:

1234567891011121314
import tensorflow as tf # Create two vectors matrix1 = tf.constant([1, 2, 3, 4]) matrix2 = tf.constant([2, 0, 2, 5]) # Compute the dot product of two tensors dot_product_axes1 = tf.tensordot(matrix1, matrix2, axes=1) dot_product_axes0 = tf.tensordot(matrix1, matrix2, axes=0) # Display tensors print(dot_product_axes1) print('-' * 40) print(dot_product_axes0)
copy
Note
Hinweis

Wenn Sie zwei Matrizen mit passenden Dimensionen (NxM @ MxK, wobei NxM die Dimensionen der ersten Matrix und MxK die der zweiten darstellt) nehmen und das Skalarprodukt entlang axes=1 berechnen, wird im Wesentlichen eine Matrixmultiplikation durchgeführt.

Aufgabe

Swipe to start coding

Hintergrund

Ein lineares Gleichungssystem kann in Matrixform durch die Gleichung dargestellt werden:

AX = B

Dabei gilt:

  • A ist eine Koeffizientenmatrix;
  • X ist eine Spaltenmatrix der Variablen;
  • B ist eine Spaltenmatrix, die die Werte auf der rechten Seite der Gleichungen darstellt.

Die Lösung dieses Systems kann mit folgender Formel gefunden werden:

X = A^-1 B

wobei A^-1 die Inverse der Matrix A ist.

Zielsetzung

Gegeben ist ein lineares Gleichungssystem, das mit TensorFlow gelöst werden soll. Das folgende Gleichungssystem ist gegeben:

  1. 2x + 3y - z = 1.
  2. 4x + y + 2z = 2.
  3. -x + 2y + 3z = 3.
Dot Product
  1. Darstellung des Gleichungssystems in Matrixform (Aufteilung in die Matrizen A und B).
  2. Mit TensorFlow die Inverse der Matrix A berechnen.
  3. Die Inverse der Matrix A mit der Matrix B multiplizieren, um die Lösungsmatrix X zu erhalten, die die Werte für x, y und z enthält.

Hinweis

Das Slicing in TensorFlow funktioniert ähnlich wie in NumPy. Daher ruft X[:, 0] alle Elemente aus der Spalte mit dem Index 0 ab. Auf das Slicing gehen wir später im Kurs noch genauer ein.

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 2. Kapitel 2
single

single

some-alt