Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Former og Dimensioner i PyTorch | PyTorch Introduktion
PyTorch-Grundlæggende

bookFormer og Dimensioner i PyTorch

På samme måde som NumPy-arrays bestemmer en tensors form dens dimensioner. Du kan inspicere en tensors form ved at bruge attributten .shape:

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

Omformning af tensorer med view

Metoden .view() opretter en ny visning af tensoren med den angivne form uden at ændre den oprindelige tensor. Det samlede antal elementer skal forblive det samme.

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 af tensorer med reshape

Metoden .reshape() ligner .view(), men kan håndtere tilfælde, hvor tensoren ikke er lagret sammenhængende i hukommelsen. Den ændrer heller ikke den oprindelige tensor.

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

Brug af negative dimensioner

Det er muligt at anvende -1 i formen for at lade PyTorch udlede størrelsen af én dimension baseret på det samlede antal elementer.

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

Forståelse af tensor views

Et view af en tensor deler de samme data med den oprindelige tensor. Ændringer i viewet påvirker den oprindelige tensor og omvendt.

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

Ændring af dimensioner

Følgende to metoder gør det muligt at tilføje eller fjerne dimensioner:

  • unsqueeze(dim) tilføjer en ny dimension på den angivne position;
  • squeeze(dim) fjerner dimensioner med størrelse 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

Hvilken form vil tensoren have efter at følgende kode er udført?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 9

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Awesome!

Completion rate improved to 5

bookFormer og Dimensioner i PyTorch

Stryg for at vise menuen

På samme måde som NumPy-arrays bestemmer en tensors form dens dimensioner. Du kan inspicere en tensors form ved at bruge attributten .shape:

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

Omformning af tensorer med view

Metoden .view() opretter en ny visning af tensoren med den angivne form uden at ændre den oprindelige tensor. Det samlede antal elementer skal forblive det samme.

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 af tensorer med reshape

Metoden .reshape() ligner .view(), men kan håndtere tilfælde, hvor tensoren ikke er lagret sammenhængende i hukommelsen. Den ændrer heller ikke den oprindelige tensor.

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

Brug af negative dimensioner

Det er muligt at anvende -1 i formen for at lade PyTorch udlede størrelsen af én dimension baseret på det samlede antal elementer.

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

Forståelse af tensor views

Et view af en tensor deler de samme data med den oprindelige tensor. Ændringer i viewet påvirker den oprindelige tensor og omvendt.

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

Ændring af dimensioner

Følgende to metoder gør det muligt at tilføje eller fjerne dimensioner:

  • unsqueeze(dim) tilføjer en ny dimension på den angivne position;
  • squeeze(dim) fjerner dimensioner med størrelse 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

Hvilken form vil tensoren have efter at følgende kode er udført?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 9
some-alt