Función PyTorch torch.narrow


Pytorch torch 参考手册Manual de referencia de Pytorch torch

torch.narrowEs una función en PyTorch que se utiliza para devolver una porción de un tensor. Devuelve una vista de la porción desde una posición inicial hasta una longitud especificada en una dimensión determinada.

Definición de la función

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

Parámetros:

  • input(Tensor): el tensor de entrada.
  • dim(int): la dimensión en la que se realizará el corte.
  • start(int): el índice inicial.
  • length(int): la longitud del corte.

Valor de retorno:

  • torch.Tensor: devuelve la vista del tensor después del corte especificado.

Ejemplo de uso

Ejemplo

import torch

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

# En la primera dimensión (filas), tomar 2 filas desde el índice 0
y = torch.narrow(x, dim=0, start=0, length=2)

print("Tensor original:")
print(x)
print("nResultado del corte:")
print(y)

El resultado de salida es:

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

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

Ejemplo

import torch

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

# En la segunda dimensión (columnas), tomar 2 columnas desde el índice 1
y = torch.narrow(x, dim=1, start=1, length=2)

print("Tensor original:")
print(x)
print("nResultado del corte:")
print(y)

El resultado de salida es:

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

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

Ejemplo

import torch

# Crear un tensor 3D
x = torch.randn(5, 6, 7)

# En la primera dimensión, tomar 3 elementos desde el índice 2
y = torch.narrow(x, dim=0, start=2, length=3)

print("Forma original:", x.shape)
print("Forma después del corte:", y.shape)

El resultado de salida es:

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

Nota:torch.narrowDevuelve una vista del tensor original, no una copia. Si se necesita una copia, se puede usartorch.narrow_copy。


Pytorch torch 参考手册Manual de referencia de Pytorch torch

Otras extensiones