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

bookФорми та Розміри у PyTorch

Аналогічно до масивів NumPy, форма тензора визначає його розмірності. Ви можете перевірити форму тензора за допомогою атрибута .shape:

123
import torch tensor = torch.tensor([[1, 2, 3], [4, 5, 6]]) print(f"Tensor shape: {tensor.shape}")
copy

Зміна форми тензорів за допомогою view

Метод .view() створює нове представлення тензора із заданою формою без зміни оригінального тензора. Загальна кількість елементів повинна залишатися незмінною.

1234567
import torch tensor = torch.arange(12) # Reshape a tensor to 4x3 reshaped_tensor = tensor.view(4, 3) print(f"Reshaped tensor: {reshaped_tensor}") # Original tensor remains unchanged print(f"Original tensor: {tensor}")
copy

Зміна форми тензорів за допомогою reshape

Метод .reshape() подібний до .view(), але може працювати у випадках, коли тензор не зберігається послідовно в пам'яті. Також не змінює оригінальний тензор.

12345
import torch tensor = torch.arange(12) # Reshape a tensor to 6x2 reshaped_tensor = tensor.reshape(6, 2) print(f"Reshaped tensor: {reshaped_tensor}")
copy

Використання від’ємних розмірностей

Можна використовувати -1 у формі, щоб PyTorch визначив розмір одного з вимірів автоматично на основі загальної кількості елементів.

12345
import torch tensor = torch.arange(12) # Automatically infer the second dimension inferred_tensor = tensor.view(2, -1) print("Inferred Tensor:", inferred_tensor)
copy

Розуміння представлень тензорів

Представлення тензора має спільні дані з оригінальним тензором. Зміни у представленні впливають на оригінальний тензор і навпаки.

1234567
import torch tensor = torch.arange(12) view_tensor = tensor.view(2, 6) view_tensor[0, 0] = 999 # Changes in the view are reflected in the original tensor print("View Tensor:", view_tensor) print("Original Tensor:", tensor)
copy

Зміна розмірностей

Наступні два методи дозволяють додавати або видаляти розмірності:

  • unsqueeze(dim) додає нову розмірність у вказаній позиції;
  • squeeze(dim) видаляє розмірності розміру 1.
12345678
import torch tensor = torch.arange(12) # Add a new dimension unsqueezed_tensor = tensor.unsqueeze(0) # Add a batch dimension print(f"Unsqueezed tensor: {unsqueezed_tensor.shape}") # Remove a dimension of size 1 squeezed_tensor = unsqueezed_tensor.squeeze(0) print(f"Squeezed Tensor: {squeezed_tensor.shape}")
copy
question mark

Якою буде форма тензора після виконання наступного коду?

Select the correct answer

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

Awesome!

Completion rate improved to 5

bookФорми та Розміри у PyTorch

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

Аналогічно до масивів NumPy, форма тензора визначає його розмірності. Ви можете перевірити форму тензора за допомогою атрибута .shape:

123
import torch tensor = torch.tensor([[1, 2, 3], [4, 5, 6]]) print(f"Tensor shape: {tensor.shape}")
copy

Зміна форми тензорів за допомогою view

Метод .view() створює нове представлення тензора із заданою формою без зміни оригінального тензора. Загальна кількість елементів повинна залишатися незмінною.

1234567
import torch tensor = torch.arange(12) # Reshape a tensor to 4x3 reshaped_tensor = tensor.view(4, 3) print(f"Reshaped tensor: {reshaped_tensor}") # Original tensor remains unchanged print(f"Original tensor: {tensor}")
copy

Зміна форми тензорів за допомогою reshape

Метод .reshape() подібний до .view(), але може працювати у випадках, коли тензор не зберігається послідовно в пам'яті. Також не змінює оригінальний тензор.

12345
import torch tensor = torch.arange(12) # Reshape a tensor to 6x2 reshaped_tensor = tensor.reshape(6, 2) print(f"Reshaped tensor: {reshaped_tensor}")
copy

Використання від’ємних розмірностей

Можна використовувати -1 у формі, щоб PyTorch визначив розмір одного з вимірів автоматично на основі загальної кількості елементів.

12345
import torch tensor = torch.arange(12) # Automatically infer the second dimension inferred_tensor = tensor.view(2, -1) print("Inferred Tensor:", inferred_tensor)
copy

Розуміння представлень тензорів

Представлення тензора має спільні дані з оригінальним тензором. Зміни у представленні впливають на оригінальний тензор і навпаки.

1234567
import torch tensor = torch.arange(12) view_tensor = tensor.view(2, 6) view_tensor[0, 0] = 999 # Changes in the view are reflected in the original tensor print("View Tensor:", view_tensor) print("Original Tensor:", tensor)
copy

Зміна розмірностей

Наступні два методи дозволяють додавати або видаляти розмірності:

  • unsqueeze(dim) додає нову розмірність у вказаній позиції;
  • squeeze(dim) видаляє розмірності розміру 1.
12345678
import torch tensor = torch.arange(12) # Add a new dimension unsqueezed_tensor = tensor.unsqueeze(0) # Add a batch dimension print(f"Unsqueezed tensor: {unsqueezed_tensor.shape}") # Remove a dimension of size 1 squeezed_tensor = unsqueezed_tensor.squeeze(0) print(f"Squeezed Tensor: {squeezed_tensor.shape}")
copy
question mark

Якою буде форма тензора після виконання наступного коду?

Select the correct answer

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

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

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

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