¿Cómo barajar columnas o filas de Matrix en PyTorch?

En este artículo, veremos cómo mezclar columnas y filas de una array en PyTorch .

Mezcla de columnas:

El índice de fila y columna comienza con 0, por lo que al especificar los índices de columna en el orden, barajaremos las columnas. Aquí cambiaremos las posiciones de las columnas.

Sintaxis : t1[torch.tensor([row_indices])][:,torch.tensor([column_indices])]

dónde,

  • row_indices y column_indices son las posiciones de índice en las que se barajan en función de las posiciones.
  • t1 representa el tensor cual de 2 dimensiones.

Ejemplo 1:

En este ejemplo, estamos creando un tensor llamado t1, que es de 2 dimensiones de 3 filas y se crean 3 columnas. Después de eso, estamos barajando columnas de tal manera que estamos moviendo elementos de columna de la primera posición a la tercera posición y de la tercera posición a la primera posición.

Python3

# importing torch
import torch
  
# create tensor
t1 = torch.tensor([[1, 2, 3],
                   [5, 6, 7],
                   [9, 10, 11]])
  
# printing the tensor
print(t1)
  
print()
  
# shuffle columns - first position 
# to third position and
# third position to first position
print(t1[torch.tensor([0, 1, 2])][:, torch.tensor([2, 1, 0])])

Producción:

tensor([[ 1,  2,  3],
        [ 5,  6,  7],
        [ 9, 10, 11]])

tensor([[ 3,  2,  1],
        [ 7,  6,  5],
        [11, 10,  9]])

Ejemplo 2:

En este ejemplo, estamos creando un tensor llamado t1, que tiene 2 dimensiones de 3 filas y 3 columnas. Después de eso, estamos barajando columnas de tal manera que los elementos de la segunda posición se mueven a la tercera posición, los elementos de la tercera posición se mueven a la primera posición y los elementos de la primera posición se mueven a la segunda posición.

Python3

# importing torch
import torch
  
# create tensor
t1 = torch.tensor([[1, 2, 3],
                   [5, 6, 7],
                   [9, 10, 11]])
  
# printing the tensor
print(t1)
  
print()
  
# shuffle columns - second  position
# to third position ,
# third position to first position
# and first position to second position
print(t1[torch.tensor([0, 1, 2])][:, torch.tensor([1, 2, 0])])

Producción:

tensor([[ 1,  2,  3],
        [ 5,  6,  7],
        [ 9, 10, 11]])

tensor([[ 2,  3,  1],
        [ 6,  7,  5],
        [10, 11,  9]])

Barajar filas:

El índice de fila y columna comienza con 0, por lo que al especificar los índices de columna en el orden, barajaremos las columnas. Aquí cambiaremos las posiciones de las filas.

Sintaxis :t1[torch.tensor([row_indices])][:,torch.tensor([column_indices])]

dónde,

  • row_indices y column_indices son las posiciones de índice en las que se barajan en función de las posiciones.
  • t1 representa el tensor cual de 2 dimensiones.

Ejemplo 1:

En este ejemplo, estamos creando un tensor llamado t1, que tiene 2 dimensiones de 3 filas y 3 columnas. Después de eso, estamos barajando filas de la primera posición a la tercera posición y de la tercera posición a la primera posición.

Python3

# importing torch
import torch
  
# create tensor
t1 = torch.tensor([[1, 2, 3],
                   [5, 6, 7],
                   [9, 10, 11]])
  
# printing the tensor
print(t1)
  
print()
  
# shuffle rows   - first position to third position and
# third position to first position
print(t1[torch.tensor([2, 1, 0])][:, torch.tensor([0, 1, 2])])

Producción:

tensor([[ 1,  2,  3],
        [ 5,  6,  7],
        [ 9, 10, 11]])

tensor([[ 9, 10, 11],
        [ 5,  6,  7],
        [ 1,  2,  3]])

Ejemplo 2:

En este ejemplo, estamos creando un tensor llamado t1, que tiene 2 dimensiones de 3 filas y 3 columnas. Después de eso, barajamos las filas de tal manera que los elementos de la segunda posición se mueven a la tercera posición, los elementos de la tercera posición se mueven a la primera posición y los elementos de la primera posición se mueven a la segunda posición.

Python3

# importing torch
import torch
  
# create tensor
t1 = torch.tensor([[1, 2, 3],
                   [5, 6, 7],
                   [9, 10, 11]])
  
# printing the tensor
print(t1)
  
print()
  
# shuffle rows   - second  position to third position ,
# third position to first position and first position
# to second position
print(t1[torch.tensor([1, 2, 0])][:, torch.tensor([0, 1, 2])])

Producción:

tensor([[ 1,  2,  3],
        [ 5,  6,  7],
        [ 9, 10, 11]])

tensor([[ 5,  6,  7],
        [ 9, 10, 11],
        [ 1,  2,  3]])

Publicación traducida automáticamente

Artículo escrito por sravankumar8128 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *