Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Mathematische Operationen mit Tensoren | Abschnitt
PyTorch-Grundlagen für ML-Ingenieure

bookMathematische Operationen mit Tensoren

Elementweise Operationen

Elementweise Operationen werden auf jedes Element im Tensor einzeln angewendet. Diese Operationen, wie Addition, Subtraktion und Division, funktionieren ähnlich wie in NumPy:

123456789101112131415
import torch a = torch.tensor([1, 2, 3]) b = torch.tensor([4, 5, 6]) # Element-wise addition addition_result = a + b print(f"Addition: {addition_result}") # Element-wise subtraction subtraction_result = a - b print(f"Subtraction: {subtraction_result}") # Element-wise multiplication multiplication_result = a * b print(f"Multiplication: {multiplication_result}") # Element-wise division division_result = a / b print(f"Division: {division_result}")
copy

Matrixoperationen

PyTorch unterstützt auch Matrixmultiplikation und Skalarprodukt, die mit der Funktion torch.matmul() durchgeführt werden:

123456
import torch x = torch.tensor([[1, 2], [3, 4]]) y = torch.tensor([[5, 6], [7, 8]]) # Matrix multiplication z = torch.matmul(x, y) print(f"Matrix multiplication: {z}")
copy

Der Operator @ kann ebenfalls für Matrixmultiplikation verwendet werden:

12345
import torch x = torch.tensor([[1, 2], [3, 4]]) y = torch.tensor([[5, 6], [7, 8]]) z = x @ y print(f"Matrix Multiplication with @: {z}")
copy

Aggregationsoperationen

Aggregationsoperationen berechnen Zusammenfassungsstatistiken aus Tensoren, wie Summe, Mittelwert, Maximum und Minimum, die mit den jeweiligen Methoden berechnet werden können.

12345678910
import torch tensor = torch.tensor([[1, 2, 3], [4, 5, 6]]).float() # Sum of all elements print(f"Sum: {tensor.sum()}") # Mean of all elements print(f"Mean: {tensor.mean()}") # Maximum value print(f"Max: {tensor.max()}") # Minimum value print(f"Min: {tensor.min()}")
copy
Note
Hinweis

Wir haben die Methode float() verwendet, um den Datentyp des Tensors in Gleitkommazahlen umzuwandeln, da die Methode mean() einen Gleitkommadatentyp erfordert. Ohne diese Umwandlung behält der Tensor seinen Standard-Integer-Typ, der mit mean() nicht kompatibel ist.

Aggregationsmethoden verfügen ebenfalls über zwei optionale Parameter:

  • dim: Gibt die Dimension an (ähnlich wie axis in NumPy), entlang der die Operation angewendet wird. Standardmäßig, wenn dim nicht angegeben ist, wird die Operation auf alle Elemente des Tensors angewendet;
  • keepdim: Ein boolescher Wert (False als Standard). Wenn auf True gesetzt, wird die reduzierte Dimension im Ergebnis als Dimension der Größe 1 beibehalten, wodurch die ursprüngliche Anzahl der Dimensionen erhalten bleibt.
12345678
import torch tensor = torch.tensor([[1, 2, 3], [4, 5, 6]]) # Aggregation operations along specific dimensions print(f"Sum along rows (dim=1): {tensor.sum(dim=1)}") print(f"Sum along columns (dim=0): {tensor.sum(dim=0)}") # Aggregation with keepdim=True print(f"Sum along rows with keepdim (dim=1): {tensor.sum(dim=1, keepdim=True)}") print(f"Sum along columns with keepdim (dim=0): {tensor.sum(dim=0, keepdim=True)}")
copy

Broadcasting

Broadcasting ermöglicht Operationen zwischen Tensoren unterschiedlicher Formen, indem die Dimensionen automatisch erweitert werden. Falls eine Auffrischung zu Broadcasting benötigt wird, sind weitere Details hier verfügbar.

123456
import torch a = torch.tensor([[1, 2, 3]]) # Shape (1, 3) b = torch.tensor([[4], [5]]) # Shape (2, 1) # Broadcasting addition c = a + b print(f"Broadcasted addition: {c}")
copy

Nützliche mathematische Funktionen

PyTorch stellt außerdem verschiedene mathematische Funktionen wie Exponentialfunktionen, Logarithmen und trigonometrische Funktionen bereit.

1234567
tensor = torch.tensor([1.0, 2.0, 3.0]) # Exponentiation print(f"Exponent: {tensor.exp()}") # Logarithm print(f"Logarithm: {tensor.log()}") # Sine print(f"Sine: {tensor.sin()}")
copy
question mark

Welche der folgenden Operationen führt in PyTorch eine Matrixmultiplikation korrekt aus?

Select all correct answers

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 7

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

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

bookMathematische Operationen mit Tensoren

Swipe um das Menü anzuzeigen

Elementweise Operationen

Elementweise Operationen werden auf jedes Element im Tensor einzeln angewendet. Diese Operationen, wie Addition, Subtraktion und Division, funktionieren ähnlich wie in NumPy:

123456789101112131415
import torch a = torch.tensor([1, 2, 3]) b = torch.tensor([4, 5, 6]) # Element-wise addition addition_result = a + b print(f"Addition: {addition_result}") # Element-wise subtraction subtraction_result = a - b print(f"Subtraction: {subtraction_result}") # Element-wise multiplication multiplication_result = a * b print(f"Multiplication: {multiplication_result}") # Element-wise division division_result = a / b print(f"Division: {division_result}")
copy

Matrixoperationen

PyTorch unterstützt auch Matrixmultiplikation und Skalarprodukt, die mit der Funktion torch.matmul() durchgeführt werden:

123456
import torch x = torch.tensor([[1, 2], [3, 4]]) y = torch.tensor([[5, 6], [7, 8]]) # Matrix multiplication z = torch.matmul(x, y) print(f"Matrix multiplication: {z}")
copy

Der Operator @ kann ebenfalls für Matrixmultiplikation verwendet werden:

12345
import torch x = torch.tensor([[1, 2], [3, 4]]) y = torch.tensor([[5, 6], [7, 8]]) z = x @ y print(f"Matrix Multiplication with @: {z}")
copy

Aggregationsoperationen

Aggregationsoperationen berechnen Zusammenfassungsstatistiken aus Tensoren, wie Summe, Mittelwert, Maximum und Minimum, die mit den jeweiligen Methoden berechnet werden können.

12345678910
import torch tensor = torch.tensor([[1, 2, 3], [4, 5, 6]]).float() # Sum of all elements print(f"Sum: {tensor.sum()}") # Mean of all elements print(f"Mean: {tensor.mean()}") # Maximum value print(f"Max: {tensor.max()}") # Minimum value print(f"Min: {tensor.min()}")
copy
Note
Hinweis

Wir haben die Methode float() verwendet, um den Datentyp des Tensors in Gleitkommazahlen umzuwandeln, da die Methode mean() einen Gleitkommadatentyp erfordert. Ohne diese Umwandlung behält der Tensor seinen Standard-Integer-Typ, der mit mean() nicht kompatibel ist.

Aggregationsmethoden verfügen ebenfalls über zwei optionale Parameter:

  • dim: Gibt die Dimension an (ähnlich wie axis in NumPy), entlang der die Operation angewendet wird. Standardmäßig, wenn dim nicht angegeben ist, wird die Operation auf alle Elemente des Tensors angewendet;
  • keepdim: Ein boolescher Wert (False als Standard). Wenn auf True gesetzt, wird die reduzierte Dimension im Ergebnis als Dimension der Größe 1 beibehalten, wodurch die ursprüngliche Anzahl der Dimensionen erhalten bleibt.
12345678
import torch tensor = torch.tensor([[1, 2, 3], [4, 5, 6]]) # Aggregation operations along specific dimensions print(f"Sum along rows (dim=1): {tensor.sum(dim=1)}") print(f"Sum along columns (dim=0): {tensor.sum(dim=0)}") # Aggregation with keepdim=True print(f"Sum along rows with keepdim (dim=1): {tensor.sum(dim=1, keepdim=True)}") print(f"Sum along columns with keepdim (dim=0): {tensor.sum(dim=0, keepdim=True)}")
copy

Broadcasting

Broadcasting ermöglicht Operationen zwischen Tensoren unterschiedlicher Formen, indem die Dimensionen automatisch erweitert werden. Falls eine Auffrischung zu Broadcasting benötigt wird, sind weitere Details hier verfügbar.

123456
import torch a = torch.tensor([[1, 2, 3]]) # Shape (1, 3) b = torch.tensor([[4], [5]]) # Shape (2, 1) # Broadcasting addition c = a + b print(f"Broadcasted addition: {c}")
copy

Nützliche mathematische Funktionen

PyTorch stellt außerdem verschiedene mathematische Funktionen wie Exponentialfunktionen, Logarithmen und trigonometrische Funktionen bereit.

1234567
tensor = torch.tensor([1.0, 2.0, 3.0]) # Exponentiation print(f"Exponent: {tensor.exp()}") # Logarithm print(f"Logarithm: {tensor.log()}") # Sine print(f"Sine: {tensor.sin()}")
copy
question mark

Welche der folgenden Operationen führt in PyTorch eine Matrixmultiplikation korrekt aus?

Select all correct answers

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 7
some-alt