Математичні Операції з Тензорами
Поелементні операції
Поелементні операції застосовуються до кожного елемента тензора окремо. Такі операції, як додавання, віднімання та ділення, працюють аналогічно до 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}")
Матричні операції
PyTorch також підтримує матричне множення та скалярний добуток, які виконуються за допомогою функції 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}")
Можна також використовувати оператор @ для множення матриць:
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}")
Операції агрегації
Операції агрегації обчислюють зведену статистику з тензорів, такі як сума, середнє значення, максимальні та мінімальні значення, які можна обчислити за допомогою відповідних методів.
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()}")
Методи агрегації також мають два необов'язкові параметри:
dim: визначає вимір (аналогічно доaxisу NumPy), вздовж якого застосовується операція. За замовчуванням, якщоdimне вказано, операція застосовується до всіх елементів тензора;keepdim: булевий прапорець (за замовчуваннямFalse). Якщо встановлено уTrue, зменшений вимір зберігається як розмір1у результаті, зберігаючи початкову кількість вимірів.
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 дозволяє виконувати операції між тензорами різних форм, автоматично розширюючи виміри. Якщо потрібне оновлення знань щодо broadcasting, детальніше можна дізнатися тут.
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}")
Корисні математичні функції
PyTorch також надає різноманітні математичні функції, такі як експоненти, логарифми та тригонометричні функції.
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()}")
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
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
Математичні Операції з Тензорами
Свайпніть щоб показати меню
Поелементні операції
Поелементні операції застосовуються до кожного елемента тензора окремо. Такі операції, як додавання, віднімання та ділення, працюють аналогічно до 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}")
Матричні операції
PyTorch також підтримує матричне множення та скалярний добуток, які виконуються за допомогою функції 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}")
Можна також використовувати оператор @ для множення матриць:
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}")
Операції агрегації
Операції агрегації обчислюють зведену статистику з тензорів, такі як сума, середнє значення, максимальні та мінімальні значення, які можна обчислити за допомогою відповідних методів.
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()}")
Методи агрегації також мають два необов'язкові параметри:
dim: визначає вимір (аналогічно доaxisу NumPy), вздовж якого застосовується операція. За замовчуванням, якщоdimне вказано, операція застосовується до всіх елементів тензора;keepdim: булевий прапорець (за замовчуваннямFalse). Якщо встановлено уTrue, зменшений вимір зберігається як розмір1у результаті, зберігаючи початкову кількість вимірів.
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 дозволяє виконувати операції між тензорами різних форм, автоматично розширюючи виміри. Якщо потрібне оновлення знань щодо broadcasting, детальніше можна дізнатися тут.
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}")
Корисні математичні функції
PyTorch також надає різноманітні математичні функції, такі як експоненти, логарифми та тригонометричні функції.
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()}")
Дякуємо за ваш відгук!