Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Математичні Операції з Тензорами | Вступ до PyTorch
Основи PyTorch

bookМатематичні Операції з Тензорами

Поелементні операції

Поелементні операції застосовуються до кожного елемента тензора окремо. Такі операції, як додавання, віднімання та ділення, працюють аналогічно до операцій у 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

Матричні операції

PyTorch також підтримує матричне множення та скалярний добуток, які виконуються за допомогою функції 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

Можна також використовувати оператор @ для множення матриць:

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

Операції агрегації

Операції агрегації обчислюють зведену статистику з тензорів, такі як сума, середнє, максимальні та мінімальні значення, які можна обчислити за допомогою відповідних методів.

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

Методи агрегації також мають два необов’язкові параметри:

  • dim: визначає вимір (аналогічно до axis у NumPy), вздовж якого застосовується операція. За замовчуванням, якщо dim не вказано, операція застосовується до всіх елементів тензора;
  • keepdim: булевий прапорець (за замовчуванням False). Якщо встановлено у True, зменшений вимір зберігається як розмірність 1 у результаті, зберігаючи початкову кількість вимірів.
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 дає змогу виконувати операції між тензорами різних форм шляхом автоматичного розширення вимірів. Якщо потрібне оновлення знань щодо broadcasting, детальніше можна ознайомитися тут.

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

Корисні математичні функції

PyTorch також надає різноманітні математичні функції, такі як експоненти, логарифми та тригонометричні функції.

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

Яка з наступних операцій правильно виконує множення матриць у PyTorch?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 7

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Suggested prompts:

Can you explain more about element-wise operations in PyTorch?

What is the difference between element-wise and matrix operations?

How does broadcasting work in PyTorch?

Awesome!

Completion rate improved to 5

bookМатематичні Операції з Тензорами

Свайпніть щоб показати меню

Поелементні операції

Поелементні операції застосовуються до кожного елемента тензора окремо. Такі операції, як додавання, віднімання та ділення, працюють аналогічно до операцій у 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

Матричні операції

PyTorch також підтримує матричне множення та скалярний добуток, які виконуються за допомогою функції 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

Можна також використовувати оператор @ для множення матриць:

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

Операції агрегації

Операції агрегації обчислюють зведену статистику з тензорів, такі як сума, середнє, максимальні та мінімальні значення, які можна обчислити за допомогою відповідних методів.

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

Методи агрегації також мають два необов’язкові параметри:

  • dim: визначає вимір (аналогічно до axis у NumPy), вздовж якого застосовується операція. За замовчуванням, якщо dim не вказано, операція застосовується до всіх елементів тензора;
  • keepdim: булевий прапорець (за замовчуванням False). Якщо встановлено у True, зменшений вимір зберігається як розмірність 1 у результаті, зберігаючи початкову кількість вимірів.
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 дає змогу виконувати операції між тензорами різних форм шляхом автоматичного розширення вимірів. Якщо потрібне оновлення знань щодо broadcasting, детальніше можна ознайомитися тут.

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

Корисні математичні функції

PyTorch також надає різноманітні математичні функції, такі як експоненти, логарифми та тригонометричні функції.

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

Яка з наступних операцій правильно виконує множення матриць у PyTorch?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 7
some-alt