En este artículo, discutiremos cómo cambiar el tamaño de un tensor en Pytorch . Resize nos permite cambiar el tamaño del tensor. tenemos varios métodos para cambiar el tamaño de un tensor en PyTorch. analicemos los métodos disponibles.
Método 1: Usando el método view()
Podemos cambiar el tamaño de los tensores en PyTorch usando el método view() . El método view() nos permite cambiar la dimensión del tensor, pero siempre asegúrese de que el número total de elementos en un tensor debe coincidir antes y después de cambiar el tamaño de los tensores. La siguiente sintaxis se usa para cambiar el tamaño de un tensor.
Sintaxis: torch.view(forma):
Parámetros: forma actualizada del tensor.
Devolución: el método view() devuelve un nuevo tensor con los mismos datos que el tensor propio pero con una forma diferente.
Ejemplo 1:
El siguiente programa es para cambiar el tamaño del tensor 1D en PyTorch usando view()
Python
# Import the torch library import torch # define a tensor tens = torch.Tensor([10, 20, 30, 40, 50, 60]) print("Original Tensor: ", tens) # below is the different ways to resize # tensor to 2x3 using view() # Resize tensor to 2x3 tens_1 = tens.view(2, 3) print(" Tensor After Resize: \n", tens_1) # other way resize tensor to 2x3 tens_2 = tens.view(2, -1) print(" Tensor after resize: \n", tens_2) # Other way to resize tensor to 2x3 tens_3 = tens.view(-1, 3) print(" Tensor after resize: \n", tens_3)
Producción:
Ejemplo 2:
El siguiente programa es para cambiar el tamaño del tensor 2D en PyTorch usando view().
Python
# Import the torch library import torch # define a tensor tens = torch.Tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]) print("Original Tensor: \n", tens) # below is the different ways to use view() # Resize tensor to 3x4 tens_1 = tens.view(2, -1) print("\n Tensor After Resize: \n", tens_1) # other way resize tensor to 3x4 tens_2 = tens.view(-1, 4) print("\n Tensor after resize: \n", tens_2) # Other way to resize tensor to 3x4 tens_3 = tens.view(3, -1) print("\n Tensor after resize: \n", tens_3)
Producción:
Método 2: Usar el método remodelar()
Este método también se utiliza para cambiar el tamaño de los tensores. Este método devuelve un nuevo tensor con un tamaño modificado. la siguiente sintaxis se usa para cambiar el tamaño del tensor usando el método remodelar().
Sintaxis: tensor.reshape( [fila,columna] )
- fila representa el número de filas en el tensor remodelado.
- columna representa el número de columnas en el tensor reformado.
Return: devuelve un tensor redimensionado.
Ejemplo 3:
El siguiente programa es para saber cómo cambiar el tamaño de un tensor 1D a un tensor 2D.
Python
# import torch module import torch # Define an 1D tensor tens = torch.tensor([10, 20, 30, 40, 50, 60, 70, 80]) # display tensor print("\n Original 1D Tensor: ", tens) # resize this tensor into 2x4 tens_1 = tens.reshape([2, 4]) print("\n After Resize this Tensor to 2x4 : \n", tens_1) # resize this tensor into 4x2 tens_2 = tens.reshape([4, 2]) print("\n After Resize this Tensor to 4x2 : \n", tens_2)
Producción:
Ejemplo 4:
El siguiente programa es para saber cómo cambiar el tamaño de un tensor 2D usando el método remodelar() .
Python
# import torch module import torch # Define an 2D tensor tens = torch.Tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]) # display tensor print(" Original 2D Tensor: \n", tens) # resize this tensor to 2x6 tens_1 = tens.reshape([2, 6]) print("\n After Resize this Tensor to 2x6 : \n", tens_1) # resize this tensor into 6x2 tens_2 = tens.reshape([6, 2]) print("\n After Resize this Tensor to 6x2 : \n", tens_2)
Producción:
Método 3: Usando el método resize()
Este método también se usa para cambiar el tamaño de los tensores en PyTorch y la siguiente sintaxis nos ayuda a cambiar el tamaño del tensor.
Sintaxis: tensor.resize_(no_of_tensors, no_of_rows, no_of_columns)
Parámetros:
- no_of_tensors: representa el número total de tensores a generar
- no_of_rows: representa el número total de filas en el nuevo tensor redimensionado
- no_of_columns: representa el número total de columnas en el nuevo tensor redimensionado
Ejemplo 5:
El siguiente programa es para entender cómo cambiar el tamaño del tensor usando el método resize().
Python
# import torch module import torch # Define an 1D tensor tens = torch.Tensor([11, 12, 13, 14, 15, 16, 17, 18]) # display tensor print("\n Original 2D Tensor: \n", tens) # resize the tensor to 4 tensors. # each tensor with 4 rows and 5 columns tens_1 = tens.resize_(4, 4, 5) print("\n After resize tensor: \n", tens_1)
Producción:
Método 4: Usar el método unsqueeze()
Esto se usa para cambiar el tamaño de un tensor agregando nuevas dimensiones en posiciones dadas. La siguiente sintaxis se usa para cambiar el tamaño del tensor usando el método unsqueeze().
Sintaxis: tensor.unsqueeze(posición)
Parámetro: position es el índice de dimensión que comenzará desde 0.
Retorno: Devuelve una nueva dimensión de tensor de tamaño 1 insertada en una posición específica.
Ejemplo 6:
El siguiente programa es para cambiar el tamaño del tensor usando el método unsqueeze().
Python
# import torch library import torch # define a tensor tens = torch.Tensor([10, 20, 30, 40, 50]) # display tensor and it's size print("\n Original Tensor: ", tens) # Squeeze the tensor in dimension 1 tens_1 = torch.unsqueeze(tens, dim=1) print("\n After resize tensor to 5x1: \n", tens_1)
Producción:
Publicación traducida automáticamente
Artículo escrito por mukulsomukesh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA