Mathematische 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:
123456789101112131415import 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}")
Matrixoperationen
PyTorch unterstützt auch Matrixmultiplikation und Skalarprodukt, die mit der Funktion torch.matmul() durchgeführt werden:
123456import 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}")
Für die Matrixmultiplikation kann auch der Operator @ verwendet werden:
12345import torch x = torch.tensor([[1, 2], [3, 4]]) y = torch.tensor([[5, 6], [7, 8]]) z = x @ y print(f"Matrix Multiplication with @: {z}")
Aggregationsoperationen
Aggregationsoperationen berechnen Zusammenfassungsstatistiken aus Tensoren, wie Summe, Mittelwert, Maximum und Minimum, die jeweils mit den entsprechenden Methoden ermittelt werden können.
12345678910import 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()}")
Die Methode float() wurde verwendet, um den Datentyp des Tensors in Gleitkommazahlen umzuwandeln, da die Methode mean() einen Gleitkommadatentyp erfordert. Ohne diese Umwandlung behält der Tensor seinen standardmäßigen Ganzzahltyp, der mit mean() nicht kompatibel ist.
Aggregationsmethoden verfügen ebenfalls über zwei optionale Parameter:
dim: Gibt die Dimension an (ähnlich wieaxisin NumPy), entlang der die Operation angewendet wird. Standardmäßig, wenndimnicht angegeben ist, wird die Operation auf alle Elemente des Tensors angewendet;keepdim: Ein boolescher Schalter (Falsestandardmäßig). Wenn aufTruegesetzt, wird die reduzierte Dimension beibehalten als Dimension der Größe1im Ergebnis, wodurch die ursprüngliche Anzahl der Dimensionen erhalten bleibt.
12345678import 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)}")
Broadcasting
Broadcasting ermöglicht Operationen zwischen Tensoren unterschiedlicher Formen, indem Dimensionen automatisch erweitert werden. Falls eine Auffrischung zu Broadcasting benötigt wird, sind weitere Details hier verfügbar.
123456import 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}")
Nützliche mathematische Funktionen
PyTorch stellt außerdem verschiedene mathematische Funktionen wie Exponentialfunktionen, Logarithmen und trigonometrische Funktionen bereit.
1234567tensor = 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()}")
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen