Pytorch - Cummax

Pytorch - Cummax
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.cummax ()

antorcha.cummax () Devuelve el máximo acumulativo de elementos en un tensor bidimensional a través de filas o en columnas. También devuelve los índices de los valores máximos devueltos.

Sintaxis:

antorcha.cummax (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áximo 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áximo acumulativo en la fila:")
#return máximo acumulativo
imprimir (antorcha.cummax (data1,1))

Producción:

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

Laboral:

Fila-1: 2, máximo (2,3), máximo (2,3,4), máximo (2,3,4,5) = [2, 3,4,5]

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

Fila-2: 1, máximo (1,3), máximo (1,3,5), máximo (1,3,5,3) = [1,3,5,5]

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

Fila-3: 2, máximo (2,3), máximo (2,3,2), máximo (2,3,2,1) = [2,3,3,3]

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

Fila-4: 2, máximo (2,3), máximo (2,3,4), máximo (2,3,4,2) = [2,3,4,4]

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

Ejemplo 2:

En este ejemplo, crearemos un tensor que tenga cuatro filas y cuatro columnas y devolveremos el máximo 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áximo acumulativo a través de la columna:")
#return máximo acumulativo
imprimir (antorcha.cummax (data1,0))

Producción:

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

Laboral:
Columna-1: 2, máximo (2,1), máximo (2,1,2), máximo (2,1,2,2) = [2, 2,2,2]

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

Columna-2: 3, máximo (3,3), máximo (3,3,3), máximo (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áximo (4,5), máximo (4,5,2), máximo (4,5,2,4) = [4,5,5,5]

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

Columna 4: 5, máximo (5,3), máximo (5,3,1), máximo (5,3,1,2) = [5,5,5,5]

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

Trabajar con CPU

Si desea ejecutar una función cummax () 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 y devolveremos el máximo 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áximo acumulativo en la fila:")
#return máximo acumulativo
imprimir (antorcha.cummax (data1,1))

Producción:

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

Laboral:

Fila-1: 2, máximo (2,3), máximo (2,3,4), máximo (2,3,4,5) = [2, 3,4,5]

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

Fila-2: 1, máximo (1,3), máximo (1,3,5), máximo (1,3,5,3) = [1,3,5,5]

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

Fila-3: 2, máximo (2,3), máximo (2,3,2), máximo (2,3,2,1) = [2,3,3,3]

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

Fila-4: 2, máximo (2,3), máximo (2,3,4), máximo (2,3,4,2) = [2,3,4,4]

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

Ejemplo 2:

En este ejemplo, crearemos un tensor que tenga cuatro filas y cuatro columnas y devolveremos el máximo 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áximo acumulativo a través de la columna:")
#return máximo acumulativo
imprimir (antorcha.cummax (data1,0))

Producción:

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

Laboral:

Columna-1: 2, máximo (2,1), máximo (2,1,2), máximo (2,1,2,2) = [2, 2,2,2]

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

Columna-2: 3, máximo (3,3), máximo (3,3,3), máximo (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áximo (4,5), máximo (4,5,2), máximo (4,5,2,4) = [4,5,5,5]

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

Columna 4: 5, máximo (5,3), máximo (5,3,1), máximo (5,3,1,2) = [5,5,5,5]

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

Conclusión

En este tutorial de Pytorch, vimos cómo realizar una operación máxima acumulativa en un tensor usando antorcha.función cummax (). Devuelve el máximo acumulativo de elementos en un tensor bidimensional y también indexa posiciones de valores máximos en filas o en columnas. También implementamos esta función en la CPU usando la función CPU ().