Matematiska Operationer med Tensorer
Elementvisa operationer
Elementvisa operationer tillämpas på varje element i tensorn individuellt. Dessa operationer, såsom addition, subtraktion och division, fungerar på liknande sätt som i 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}")
Matrisoperationer
PyTorch stöder även matrismultiplikation och skalärprodukt, vilka utförs med funktionen torch.matmul():
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}")
Du kan också använda operatorn @ för matrismultiplikation:
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}")
Aggregeringsoperationer
Aggregeringsoperationer beräknar sammanfattande statistik från tensorer, såsom summa, medelvärde, maximalt och minimalt värde, vilka kan beräknas med deras respektive metoder.
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()}")
Aggregeringsmetoder har också två valfria parametrar:
dim: specificerar dimensionen (på liknande sätt somaxisi NumPy) längs vilken operationen tillämpas. Som standard, omdiminte anges, tillämpas operationen på alla element i tensorn;keepdim: en boolesk flagga (Falsesom standard). Om den är satt tillTrue, behålls den reducerade dimensionen som en dimension av storlek1i resultatet, vilket bevarar det ursprungliga antalet dimensioner.
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 möjliggör operationer mellan tensorer med olika former genom att automatiskt expandera dimensionerna. Om du behöver en repetition om broadcasting kan du hitta mer information här.
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}")
Användbara matematiska funktioner
PyTorch tillhandahåller även olika matematiska funktioner såsom exponenter, logaritmer och trigonometriska funktioner.
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()}")
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Can you explain more about how broadcasting works in PyTorch?
What are some other common aggregation operations in PyTorch?
How do I choose between element-wise and matrix operations?
Awesome!
Completion rate improved to 5
Matematiska Operationer med Tensorer
Svep för att visa menyn
Elementvisa operationer
Elementvisa operationer tillämpas på varje element i tensorn individuellt. Dessa operationer, såsom addition, subtraktion och division, fungerar på liknande sätt som i 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}")
Matrisoperationer
PyTorch stöder även matrismultiplikation och skalärprodukt, vilka utförs med funktionen torch.matmul():
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}")
Du kan också använda operatorn @ för matrismultiplikation:
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}")
Aggregeringsoperationer
Aggregeringsoperationer beräknar sammanfattande statistik från tensorer, såsom summa, medelvärde, maximalt och minimalt värde, vilka kan beräknas med deras respektive metoder.
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()}")
Aggregeringsmetoder har också två valfria parametrar:
dim: specificerar dimensionen (på liknande sätt somaxisi NumPy) längs vilken operationen tillämpas. Som standard, omdiminte anges, tillämpas operationen på alla element i tensorn;keepdim: en boolesk flagga (Falsesom standard). Om den är satt tillTrue, behålls den reducerade dimensionen som en dimension av storlek1i resultatet, vilket bevarar det ursprungliga antalet dimensioner.
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 möjliggör operationer mellan tensorer med olika former genom att automatiskt expandera dimensionerna. Om du behöver en repetition om broadcasting kan du hitta mer information här.
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}")
Användbara matematiska funktioner
PyTorch tillhandahåller även olika matematiska funktioner såsom exponenter, logaritmer och trigonometriska funktioner.
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()}")
Tack för dina kommentarer!