Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Vormen en Dimensies in PyTorch | PyTorch Introductie
Pytorch Essentials

bookVormen en Dimensies in PyTorch

Net als bij NumPy-arrays bepaalt de vorm van een tensor de dimensies. De vorm van een tensor kan worden bekeken met het attribuut .shape:

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

Tensors herschikken met view

De methode .view() maakt een nieuw view van de tensor met de opgegeven vorm zonder de originele tensor te wijzigen. Het totale aantal elementen moet gelijk blijven.

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

Tensors herschikken met reshape

De .reshape()-methode lijkt op .view(), maar kan situaties aan waarbij de tensor niet aaneengesloten in het geheugen is opgeslagen. Deze methode wijzigt de originele tensor niet.

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

Gebruik van Negatieve Dimensies

Het is mogelijk om -1 te gebruiken in de vorm, zodat PyTorch de grootte van één dimensie kan afleiden op basis van het totale aantal elementen.

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

Uitleg over Tensor Views

Een view van een tensor deelt dezelfde data met de oorspronkelijke tensor. Wijzigingen in de view beïnvloeden de originele tensor en omgekeerd.

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

Dimensies wijzigen

De volgende twee methoden maken het mogelijk om dimensies toe te voegen of te verwijderen:

  • unsqueeze(dim) voegt een nieuwe dimensie toe op de opgegeven positie;
  • squeeze(dim) verwijdert dimensies met grootte 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

Wat zal de vorm van de tensor zijn na het uitvoeren van de volgende code?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 9

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Awesome!

Completion rate improved to 5

bookVormen en Dimensies in PyTorch

Veeg om het menu te tonen

Net als bij NumPy-arrays bepaalt de vorm van een tensor de dimensies. De vorm van een tensor kan worden bekeken met het attribuut .shape:

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

Tensors herschikken met view

De methode .view() maakt een nieuw view van de tensor met de opgegeven vorm zonder de originele tensor te wijzigen. Het totale aantal elementen moet gelijk blijven.

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

Tensors herschikken met reshape

De .reshape()-methode lijkt op .view(), maar kan situaties aan waarbij de tensor niet aaneengesloten in het geheugen is opgeslagen. Deze methode wijzigt de originele tensor niet.

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

Gebruik van Negatieve Dimensies

Het is mogelijk om -1 te gebruiken in de vorm, zodat PyTorch de grootte van één dimensie kan afleiden op basis van het totale aantal elementen.

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

Uitleg over Tensor Views

Een view van een tensor deelt dezelfde data met de oorspronkelijke tensor. Wijzigingen in de view beïnvloeden de originele tensor en omgekeerd.

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

Dimensies wijzigen

De volgende twee methoden maken het mogelijk om dimensies toe te voegen of te verwijderen:

  • unsqueeze(dim) voegt een nieuwe dimensie toe op de opgegeven positie;
  • squeeze(dim) verwijdert dimensies met grootte 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

Wat zal de vorm van de tensor zijn na het uitvoeren van de volgende code?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 1. Hoofdstuk 9
some-alt