Математичні Операції з Тензорами
Поелементні операції
Поелементні операції застосовуються до кожного елемента тензора окремо. Такі операції, як додавання, віднімання та ділення, працюють аналогічно до операцій у 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()}")
Ми використали метод float(), щоб перетворити тип даних тензора на число з плаваючою комою, оскільки метод mean() вимагає саме такого типу даних. Без цього перетворення тензор зберігає тип цілих чисел за замовчуванням, який несумісний із mean().
Методи агрегації також мають два необов'язкових параметри:
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
Бродкастинг дозволяє виконувати операції між тензорами різних форм за рахунок автоматичного розширення вимірів. Якщо потрібне оновлення знань щодо бродкастингу, детальніше можна дізнатися тут.
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()}")
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Чудово!
Completion показник покращився до 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()}")
Ми використали метод float(), щоб перетворити тип даних тензора на число з плаваючою комою, оскільки метод mean() вимагає саме такого типу даних. Без цього перетворення тензор зберігає тип цілих чисел за замовчуванням, який несумісний із mean().
Методи агрегації також мають два необов'язкових параметри:
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
Бродкастинг дозволяє виконувати операції між тензорами різних форм за рахунок автоматичного розширення вимірів. Якщо потрібне оновлення знань щодо бродкастингу, детальніше можна дізнатися тут.
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()}")
Дякуємо за ваш відгук!