Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Matematiska Operationer med Tensorer | Pytorch Introduktion
Pytorch-Grunder

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:

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}")

Matrisoperationer

PyTorch stöder även matrismultiplikation och skalärprodukt, vilka utförs med funktionen torch.matmul():

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}")

Du kan också använda operatorn @ för matrismultiplikation:

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}")

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.

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()}")

Aggregeringsmetoder har också två valfria parametrar:

  • dim: specificerar dimensionen (på liknande sätt som axis i NumPy) längs vilken operationen tillämpas. Som standard, om dim inte anges, tillämpas operationen på alla element i tensorn;
  • keepdim: en boolesk flagga (False som standard). Om den är satt till True, behålls den reducerade dimensionen som en dimension av storlek 1 i resultatet, vilket bevarar det ursprungliga antalet dimensioner.
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)}")

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.

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}")

Användbara matematiska funktioner

PyTorch tillhandahåller även olika matematiska funktioner såsom exponenter, logaritmer och trigonometriska funktioner.

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()}")
question mark

Vilken av följande operationer utför korrekt matris­multiplikation i PyTorch?

Välj alla rätta svar

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 7

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Avsnitt 1. Kapitel 7
some-alt