PyTorch torch.narrow-Funktion


Pytorch torch 参考手册PyTorch torch Referenzhandbuch

torch.narrowist eine Funktion in PyTorch, die verwendet wird, um Tensor-Slices zurückzugeben. Sie gibt eine geschnittene Ansicht zurück, die an einer angegebenen Position mit einer angegebenen Länge entlang einer angegebenen Dimension beginnt.

Funktionsdefinition

torch.narrow(input, dim, start, length)

Parameters:

  • input(Tensor): Der Eingabe-Tensor.
  • dim(int): Die zu schneidende Dimension.
  • start(int): Der Startindex.
  • length(int): Die Länge des Slices.

Rückgabewert:

  • torch.Tensor: Gibt die geschnittene Ansicht des Tensors zurück.

Anwendungsbeispiele

Beispiel

import torch

# Einen Tensor erstellen
x = torch.tensor([[1, 2, 3, 4],
                  [5, 6, 7, 8],
                  [9, 10, 11, 12]])

# 2 Zeilen ab Index 0 entlang der ersten Dimension (Zeilen) ausschneiden
y = torch.narrow(x, dim=0, start=0, length=2)

print("Original-Tensor:")
print(x)
print("nErgebnis nach Slicing:")
print(y)

Die Ausgabe ist:

原始张量:
tensor([[ 1,  2,  3,  4],
        [ 5,  6,  7,  8],
        [ 9, 10, 11, 12]])

切片结果:
tensor([[1, 2, 3, 4],
        [5, 6, 7, 8]])

Beispiel

import torch

# Einen Tensor erstellen
x = torch.tensor([[1, 2, 3, 4],
                  [5, 6, 7, 8],
                  [9, 10, 11, 12]])

# 2 Spalten ab Index 1 entlang der zweiten Dimension (Spalten) schneiden
y = torch.narrow(x, dim=1, start=1, length=2)

print("Original-Tensor:")
print(x)
print("nErgebnis nach Slicing:")
print(y)

Die Ausgabe ist:

原始张量:
tensor([[ 1,  2,  3,  4],
        [ 5,  6,  7,  8],
        [ 9, 10, 11, 12]])

切片结果:
tensor([[ 2,  3],
        [ 6,  7],
        [10, 11]])

Beispiel

import torch

# Erstelle einen 3D-Tensor
x = torch.randn(5, 6, 7)

# 3 Elemente ab Index 2 entlang der ersten Dimension schneiden
y = torch.narrow(x, dim=0, start=2, length=3)

print("Ursprüngliche Form:", x.shape)
print("Form nach dem Slicing:", y.shape)

Die Ausgabe ist:

原始形状: torch.Size([5, 6, 7])
切片后形状: torch.Size([3, 6, 7])

Hinweis:torch.narrowEs wird eine Ansicht des ursprünglichen Tensors zurückgegeben, keine Kopie. Wenn Sie eine Kopie benötigen, können Sietorch.narrow_copy。


Pytorch torch 参考手册PyTorch torch Referenzhandbuch

Andere Erweiterungen