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

bookMatematiska 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:

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

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

Du kan även 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}")
copy

Aggregeringsoperationer

Aggregeringsoperationer beräknar sammanfattande statistik från tensorer, såsom summa, medelvärde, maximum och minimum, 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()}")
copy

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 sätts 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)}")
copy

Broadcasting

Broadcasting möjliggör operationer mellan tensorer av 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}")
copy

Användbara matematiska funktioner

PyTorch tillhandahåller även olika matematiska funktioner såsom exponentiella funktioner, 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()}")
copy
question mark

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

Select the correct answer

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

Awesome!

Completion rate improved to 5

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

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

Du kan även 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}")
copy

Aggregeringsoperationer

Aggregeringsoperationer beräknar sammanfattande statistik från tensorer, såsom summa, medelvärde, maximum och minimum, 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()}")
copy

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 sätts 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)}")
copy

Broadcasting

Broadcasting möjliggör operationer mellan tensorer av 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}")
copy

Användbara matematiska funktioner

PyTorch tillhandahåller även olika matematiska funktioner såsom exponentiella funktioner, 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()}")
copy
question mark

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

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 7
some-alt