Pytorch - Cumprod

Pytorch - Cumprod
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.CumProd ()

antorcha.CumProd () Devuelve el producto acumulativo de elementos en un tensor bidimensional a través de filas o en columnas.

Sintaxis:

antorcha.CumProd (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 producto acumulativo de cada elemento en la fila.

Producto de cada elemento en 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 ("Producto acumulativo en la fila:")
#Producto acumulativo de Return
imprimir (antorcha.CumProd (Data1,1))

Producción:

Tensor real:
Tensor ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2]])
Producto acumulativo en la fila:
Tensor ([[2, 6, 24, 120],
[1, 3, 15, 45],
[2, 6, 12, 12],
[2, 6, 24, 48]])

Laboral:

Fila-1: 2,2*3,2*3*4,2*3*4*5 = [2, 6, 24, 120]

Fila-2: 1,1*3,1*3*5,1*3*5*3 = [1, 3, 15, 45]

Fila-3: 2,2*3,2*3*2,2*3*2*1 = [2, 6, 12, 12]

Fila-4: 2,2*3,2*3*4,2*3*4*2 = [2, 6, 24, 48]

Ejemplo 2:

En este ejemplo, crearemos un tensor que tenga cuatro filas y cuatro columnas y devolveremos el producto 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 ("Producto acumulativo a través de la columna:")
#Producto acumulativo de Return
imprimir (antorcha.CumProd (Data1,0))

Producción:

Tensor real:
Tensor ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2]])
Producto acumulativo a través de la columna:
Tensor ([[2, 3, 4, 5],
[2, 9, 20, 15],
[4, 27, 40, 15],
[8, 81, 160, 30]])

Laboral:

Columna-1: 2,2*1,2*1*2,2*1*2*2 = [2, 2,4,8]

Columna-2: 3,3*3,3*3*3,3*3*3*3 = [3,9,27,81]

Columna-3: 4,4*5,4*5*2,4*5*2*4 = [4,20,40,160]

Columna-4: 5,5*3,5*3*1,5*3*1*2 = [5,15,15,30]

Trabajar con CPU

Si desea ejecutar una función CumProd () 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 producto acumulativo de cada elemento en 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 ("Producto acumulativo en la fila:")
#Producto acumulativo de Return
imprimir (antorcha.CumProd (Data1,1))

Producción:

Tensor real:
Tensor ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2]])
Producto acumulativo en la fila:
Tensor ([[2, 6, 24, 120],
[1, 3, 15, 45],
[2, 6, 12, 12],
[2, 6, 24, 48]])

Laboral:

Fila-1: 2,2*3,2*3*4,2*3*4*5 = [2, 6, 24, 120]

Fila-2: 1,1*3,1*3*5,1*3*5*3 = [1, 3, 15, 45]

Fila-3: 2,2*3,2*3*2,2*3*2*1 = [2, 6, 12, 12]

Fila-4: 2,2*3,2*3*4,2*3*4*2 = [2, 6, 24, 48]

Ejemplo 2:

En este ejemplo, crearemos un tensor que tenga cuatro filas y cuatro columnas y devolveremos el producto 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 ("Producto acumulativo a través de la columna:")
#Producto acumulativo de Return
imprimir (antorcha.CumProd (Data1,0))

Producción:

Tensor real:
Tensor ([[2, 3, 4, 5],
[1, 3, 5, 3],
[2, 3, 2, 1],
[2, 3, 4, 2]])
Producto acumulativo a través de la columna:
Tensor ([[2, 3, 4, 5],
[2, 9, 20, 15],
[4, 27, 40, 15],
[8, 81, 160, 30]])

Laboral:
Columna-1: 2,2*1,2*1*2,2*1*2*2 = [2, 2,4,8]

Columna-2: 3,3*3,3*3*3,3*3*3*3 = [3,9,27,81]

Columna-3: 4,4*5,4*5*2,4*5*2*4 = [4,20,40,160]

Columna-4: 5,5*3,5*3*1,5*3*1*2 = [5,15,15,30]

Conclusión

En este tutorial de Pytorch, vimos cómo realizar una operación de producto acumulativo en un tensor utilizando la antorcha.función de cumProd (). Devuelve el producto acumulativo de elementos en un tensor bidimensional a través de filas o en columnas. También implementamos esta función en la CPU usando la función CPU ().