Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Former och Dimensioner i PyTorch | Pytorch Introduktion
Pytorch-Grunder

bookFormer och Dimensioner i PyTorch

På liknande sätt som NumPy-arrayer bestämmer en tensors form dess dimensioner. Du kan inspektera en tensors form med attributet .shape:

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

Omformning av tensorer med view

Metoden .view() skapar en ny vy av tensorn med den angivna formen utan att ändra den ursprungliga tensorn. Det totala antalet element måste förbli detsamma.

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

Omformning av tensorer med reshape

Metoden .reshape() liknar .view() men kan hantera fall där tensorn inte är lagrad sammanhängande i minnet. Den ändrar inte heller den ursprungliga tensorn.

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

Användning av negativa dimensioner

Du kan använda -1 i formen för att låta PyTorch härleda storleken på en dimension baserat på det totala antalet element.

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

Förstå tensorvyer

En vy av en tensor delar samma data med den ursprungliga tensorn. Ändringar i vyn påverkar den ursprungliga tensorn och vice versa.

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

Ändra dimensioner

Följande två metoder låter dig lägga till eller ta bort dimensioner:

  • unsqueeze(dim) lägger till en ny dimension på angiven position;
  • squeeze(dim) tar bort dimensioner av storlek 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

Vilken form kommer tensorn att ha efter att följande kod har körts?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 9

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Awesome!

Completion rate improved to 5

bookFormer och Dimensioner i PyTorch

Svep för att visa menyn

På liknande sätt som NumPy-arrayer bestämmer en tensors form dess dimensioner. Du kan inspektera en tensors form med attributet .shape:

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

Omformning av tensorer med view

Metoden .view() skapar en ny vy av tensorn med den angivna formen utan att ändra den ursprungliga tensorn. Det totala antalet element måste förbli detsamma.

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

Omformning av tensorer med reshape

Metoden .reshape() liknar .view() men kan hantera fall där tensorn inte är lagrad sammanhängande i minnet. Den ändrar inte heller den ursprungliga tensorn.

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

Användning av negativa dimensioner

Du kan använda -1 i formen för att låta PyTorch härleda storleken på en dimension baserat på det totala antalet element.

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

Förstå tensorvyer

En vy av en tensor delar samma data med den ursprungliga tensorn. Ändringar i vyn påverkar den ursprungliga tensorn och vice versa.

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

Ändra dimensioner

Följande två metoder låter dig lägga till eller ta bort dimensioner:

  • unsqueeze(dim) lägger till en ny dimension på angiven position;
  • squeeze(dim) tar bort dimensioner av storlek 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

Vilken form kommer tensorn att ha efter att följande kod har körts?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 9
some-alt