Pytorch - Cummin

Pytorch - Cummin
Pytorch es un marco de código abierto para el lenguaje de programación de Python.

Un tensor es una matriz multidimensional que se utiliza para almacenar datos. Entonces, para usar un tensor, tenemos que importar el módulo de antorcha.

Para crear un tensor, el método utilizado es tensor ().

Sintaxis:

antorcha.Tensor (datos)

Donde los datos son una matriz multidimensional.

antorcha.Cummin ()

La antorcha devuelve el mínimo acumulativo de elementos en un tensor bidimensional a través de filas o columnas.Cummin (). También devuelve los índices de valores mínimos devueltos.

Sintaxis:

antorcha.Cummin (tensor_object, dim)

Parámetros:

  1. Se necesita tensor_object como el primer parámetro. Tiene que ser bidimensional.
  2. dim = 0 especifica el cálculo de la columna y dim = 1 especifica el cálculo de la fila.

Ejemplo 1:

En este ejemplo, crearemos un tensor que tenga cuatro filas y cuatro columnas y devolveremos el mínimo acumulativo de cada elemento a través de la fila.

#módulo de antorcha de Import
antorcha de importación
#cree tensor
datos1 = antorcha.Tensor ([[2,3,4,5], [1,3,5,3], [2,3,2,1], [2,3,4,2]])
#mostrar
Imprimir ("Tensor real:")
Imprimir (Data1)
imprimir ("mínimo acumulativo en la fila:")
#Realización mínima acumulativa
imprimir (antorcha.Cummin (Data1,1))

Producción:

Tensor real:
Tensor ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2]])
Mínimo acumulativo en la fila:
antorcha.return_types.Cummin (
valores = tensor ([[2, 2, 2, 2],
[1, 1, 1, 1],
[2, 2, 2, 1],
[2, 2, 2, 2]]),
índices = tensor ([[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 2, 3],
[0, 0, 0, 3]])

Laboral:
Fila-1: 2, mínimo (2,3), mínimo (2,3,4), mínimo (2,3,4,5) = [2, 2, 2, 2]

Entonces, [2,2,2,2] las posiciones de índice en el tensor real son - [0,0,0,0]

Fila-2: 1, mínimo (1,3), mínimo (1,3,5), mínimo (1,3,5,3) = [1,1,1,1]

Entonces, [1,1,1,1] las posiciones de índice en el tensor real son - [0,0,0,0]

Fila-3: 2, mínimo (2,3), mínimo (2,3,2), mínimo (2,3,2,1) = [2,2,2,1]

Entonces, [2,2,2,1] las posiciones de índice en el tensor real son - [0,0,2,3]

Fila-4: 2, mínimo (2,3), mínimo (2,3,4), mínimo (2,3,4,2) = [2,2,2,2]

Entonces, [2,2,2,2] las posiciones de índice en el tensor real son - [0,0,0,3]

Ejemplo 2:

En este ejemplo, crearemos un tensor que tenga cuatro filas y cuatro columnas y devolveremos el mínimo acumulativo de cada elemento a través de la columna.

#módulo de antorcha de Import
antorcha de importación
#cree tensor
datos1 = antorcha.Tensor ([[2,3,4,5], [1,3,5,3], [2,3,2,1], [2,3,4,2]])
#mostrar
Imprimir ("Tensor real:")
Imprimir (Data1)
Imprimir ("Mínimo acumulativo a través de la columna:")
#Realización mínima acumulativa
imprimir (antorcha.Cummin (Data1,0))

Producción:

Tensor real:
Tensor ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2]])
Mínimo acumulativo a través de la columna:
antorcha.return_types.Cummin (
valores = tensor ([[2, 3, 4, 5],
[1, 3, 4, 3],
[1, 3, 2, 1],
[1, 3, 2, 1]]),
índices = tensor ([[0, 0, 0, 0],
[1, 1, 0, 1],
[1, 2, 2, 2],
[1, 3, 2, 2]])

Laboral:

Columna-1: 2, mínimo (2,1), mínimo (2,1,2), mínimo (2,1,2,2) = [2, 1,1,1]

Entonces, [2, 1,1,1] las posiciones de índice en el tensor real son - [0,1,1,1]

Columna-2: 3, mínimo (3,3), mínimo (3,3,3), mínimo (3,3,3,3) = [3,3,3,3]

Entonces, [3,3,3,3] las posiciones de índice en el tensor real son - [0,1,2,3]

Columna-3: 4, mínimo (4,5), mínimo (4,5,2), mínimo (4,5,2,4) = [4,4,2,2]

Entonces, [4,4,2,2] las posiciones de índice en el tensor real son - [0,0,2,2]

Columna 4: 5, mínimo (5,3), mínimo (5,3,1), mínimo (5,3,1,2) = [5,3,1,1]

Entonces, [5,3,1,1] las posiciones de índice en el tensor real son - [0,1,2,2]

Trabajar con CPU

Si desea ejecutar una función Cummin () en la CPU, entonces tenemos que crear un tensor con una función CPU (). Esto se ejecutará en una máquina CPU.

En este momento, cuando estamos creando un tensor, podemos usar la función CPU ().

Sintaxis:

antorcha.Tensor (datos).UPC()

Ejemplo 1:

En este ejemplo, crearemos un tensor que tenga cuatro filas y cuatro columnas en la CPU y devolveremos el mínimo acumulativo de cada elemento a través de la fila.

#módulo de antorcha de Import
antorcha de importación
#cree tensor
datos1 = antorcha.Tensor ([[2,3,4,5], [1,3,5,3], [2,3,2,1], [2,3,4,2]]).UPC()
#mostrar
Imprimir ("Tensor real:")
Imprimir (Data1)
imprimir ("mínimo acumulativo en la fila:")
#Realización mínima acumulativa
imprimir (antorcha.Cummin (Data1,1))

Producción:

Tensor real:
Tensor ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2]])
Mínimo acumulativo en la fila:
antorcha.return_types.Cummin (
valores = tensor ([[2, 2, 2, 2],
[1, 1, 1, 1],
[2, 2, 2, 1],
[2, 2, 2, 2]]),
índices = tensor ([[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 2, 3],
[0, 0, 0, 3]])

Laboral:

Fila-1: 2, mínimo (2,3), mínimo (2,3,4), mínimo (2,3,4,5) = [2, 2, 2, 2]

Entonces, [2,2,2,2] las posiciones de índice en el tensor real son - [0,0,0,0]

Fila-2: 1, mínimo (1,3), mínimo (1,3,5), mínimo (1,3,5,3) = [1,1,1,1]

Entonces, [1,1,1,1] las posiciones de índice en el tensor real son - [0,0,0,0]

Fila-3: 2, mínimo (2,3), mínimo (2,3,2), mínimo (2,3,2,1) = [2,2,2,1]

Entonces, [2,2,2,1] las posiciones de índice en el tensor real son - [0,0,2,3]

Fila-4: 2, mínimo (2,3), mínimo (2,3,4), mínimo (2,3,4,2) = [2,2,2,2]

Entonces, [2,2,2,2] las posiciones de índice en el tensor real son - [0,0,0,3]

Ejemplo 2:

En este ejemplo, crearemos un tensor que tenga cuatro filas y cuatro columnas en la CPU y devolveremos el mínimo acumulativo de cada elemento a través de la columna.

#módulo de antorcha de Import
antorcha de importación
#cree tensor
datos1 = antorcha.Tensor ([[2,3,4,5], [1,3,5,3], [2,3,2,1], [2,3,4,2]]).UPC()
#mostrar
Imprimir ("Tensor real:")
Imprimir (Data1)
Imprimir ("Mínimo acumulativo a través de la columna:")
#Realización mínima acumulativa
imprimir (antorcha.Cummin (Data1,0))

Producción:

Tensor real:
Tensor ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2]])
Mínimo acumulativo a través de la columna:
antorcha.return_types.Cummin (
valores = tensor ([[2, 3, 4, 5],
[1, 3, 4, 3],
[1, 3, 2, 1],
[1, 3, 2, 1]]),
índices = tensor ([[0, 0, 0, 0],
[1, 1, 0, 1],
[1, 2, 2, 2],
[1, 3, 2, 2]])

Laboral:

Columna-1: 2, mínimo (2,1), mínimo (2,1,2), mínimo (2,1,2,2) = [2, 1,1,1]

Entonces, [2, 1,1,1] las posiciones de índice en el tensor real son - [0,1,1,1]

Columna-2: 3, mínimo (3,3), mínimo (3,3,3), mínimo (3,3,3,3) = [3,3,3,3]

Entonces, [3,3,3,3] las posiciones de índice en el tensor real son - [0,1,2,3]

Columna-3: 4, mínimo (4,5), mínimo (4,5,2), mínimo (4,5,2,4) = [4,4,2,2]

Entonces, [4,4,2,2] las posiciones de índice en el tensor real son - [0,0,2,2]

Columna 4: 5, mínimo (5,3), mínimo (5,3,1), mínimo (5,3,1,2) = [5,3,1,1]

Entonces, [5,3,1,1] las posiciones de índice en el tensor real son - [0,1,2,2]

Conclusión

En este tutorial de Pytorch, vimos cómo realizar una operación mínima acumulativa en un tensor utilizando la antorcha.Función Cummin (). Devuelve el mínimo acumulativo de elementos en un tensor bidimensional y también indexa las posiciones de valores mínimos en filas o en columnas. También implementamos esta función en la CPU usando la función CPU ().