Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Formen und Dimensionen in PyTorch | Einführung in PyTorch
Pytorch Grundlagen
course content

Kursinhalt

Pytorch Grundlagen

Pytorch Grundlagen

1. Einführung in PyTorch
2. Fortgeschrittenere Konzepte
3. Neuronale Netzwerke in PyTorch

book
Formen und Dimensionen in PyTorch

Ähnlich wie bei NumPy-Arrays bestimmt die Form eines Tensors seine Dimensionen. Sie können die Form eines Tensors mit dem Attribut .shape überprüfen:

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

Umformen von Tensors mit view

Die Methode .view() erstellt eine neue Ansicht des Tensors mit der angegebenen Form ohne den ursprünglichen Tensor zu ändern. Die Gesamtanzahl der Elemente muss gleich bleiben.

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

Umformen von Tensors mit reshape

Die Methode .reshape() ist ähnlich wie .view(), kann jedoch Fälle behandeln, in denen der Tensor nicht zusammenhängend im Speicher gespeichert ist. Sie ändert auch nicht den ursprünglichen 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

Verwendung negativer Dimensionen

Sie können -1 in der Form verwenden, um PyTorch die Größe einer Dimension basierend auf der Gesamtanzahl der Elemente ableiten zu lassen.

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

Verständnis von Tensor-Ansichten

Eine Ansicht eines Tensors teilt die gleichen Daten mit dem ursprünglichen Tensor. Änderungen an der Ansicht wirken sich auf den ursprünglichen Tensor aus und umgekehrt.

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

Ändern von Dimensionen

Die folgenden zwei Methoden ermöglichen es Ihnen, Dimensionen hinzuzufügen oder zu entfernen:

  • unsqueeze(dim) fügt eine neue Dimension an der angegebenen Position hinzu;
  • squeeze(dim) entfernt Dimensionen der Größe 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
Wie wird die Form des Tensors nach Ausführung des folgenden Codes sein?

Wie wird die Form des Tensors nach Ausführung des folgenden Codes sein?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 9
We're sorry to hear that something went wrong. What happened?
some-alt