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 även 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, maximum och minimum, 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()}")
Vi använde metoden float() för att konvertera tensorens datatyp till flyttal eftersom metoden mean() kräver en flyttalsdatatyp. Utan denna konvertering behåller tensorn sin standard heltalstyp, vilket är inkompatibelt med mean().
Aggregeringsmetoder har också två valfria parametrar:
dim: anger dimensionen (på liknande sätt somaxisi NumPy) längs vilken operationen utförs. Som standard, omdiminte anges, utförs operationen på alla element i tensorn;keepdim: en boolesk flagga (Falsesom standard). Om den är satt tillTruebehålls den reducerade dimensionen som en dimension av storlek1i utdata, 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 utöka 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 exponentialer, 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
Fantastiskt!
Completion betyg förbättrat till 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 även 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, maximum och minimum, 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()}")
Vi använde metoden float() för att konvertera tensorens datatyp till flyttal eftersom metoden mean() kräver en flyttalsdatatyp. Utan denna konvertering behåller tensorn sin standard heltalstyp, vilket är inkompatibelt med mean().
Aggregeringsmetoder har också två valfria parametrar:
dim: anger dimensionen (på liknande sätt somaxisi NumPy) längs vilken operationen utförs. Som standard, omdiminte anges, utförs operationen på alla element i tensorn;keepdim: en boolesk flagga (Falsesom standard). Om den är satt tillTruebehålls den reducerade dimensionen som en dimension av storlek1i utdata, 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 utöka 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 exponentialer, 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!