Pytorch - Isfinite

Pytorch - Isfinite
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 los 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.isfinite ()

isfinite () en pytorch devuelve verdadero si el elemento no es infinito (por ejemplo, no deben ser nan, infinito positivo e infinito negativo). De lo contrario, devuelve falso. Se necesita un parámetro.

Sintaxis:
antorcha.Isfinite (tensor_object)

Parámetro:
tensor_object es un tensor.

Devolver:
Devolverá un tensor booleano con respecto al tensor real.

Representación:

Infinito positivo - Float ('Inf')
Infinito negativo - Float (' - Inf')
No es un número - Float ('Nan')

Ejemplo 1:
En este ejemplo, crearemos un tensor con una dimensión que tenga cinco elementos y verificaremos si esos cinco son finitos o no.

#módulo de antorcha de Import
antorcha de importación
#cree un tensor
datos1 = antorcha.tensor ([12,34,56,1, flotante ('inf')])
#mostrar
Imprimir ("Tensor real:")
Imprimir (Data1)
Imprimir ("Verifique para finitos")
imprimir (antorcha.Isfinite (Data1))

Producción:

Tensor real:
tensor ([12., 34., 56., 1., inf])
Verifique si hay finito
tensor ([verdadero, verdadero, verdadero, verdadero, falso])

Laboral:

  1. 12 no es ni infinito ni nan, por lo que es finito (verdadero).
  2. 34 no es ni infinito ni nan, por lo que es finito (verdadero).
  3. 56 no es ni infinito ni nan, por lo que es finito (verdadero).
  4. 1 no es ni infinito ni nan, por lo que es finito (verdadero).
  5. INF es infinito, por lo que no es finito (falso).

Ejemplo 2:
En este ejemplo, crearemos un tensor con una dimensión que tenga cinco elementos y verificaremos si estos cinco son finitos o no.

#módulo de antorcha de Import
antorcha de importación
#cree un tensor
datos1 = antorcha.tensor ([float ('-inf'), 34,56, float ('nan'), float ('inf')]))
#mostrar
Imprimir ("Tensor real:")
Imprimir (Data1)
Imprimir ("Verifique para finitos")
imprimir (antorcha.Isfinite (Data1))

Producción:

Tensor real:
tensor ([-inf, 34., 56., nan, inf])
Verifique si hay finito
tensor ([falso, verdadero, verdadero, falso, falso])

Laboral:

  1. -INF es un infinito negativo, por lo que no es finito (falso).
  2. 34 no es ni infinito ni nan, por lo que es finito (verdadero).
  3. 56 no es ni infinito ni nan, por lo que es finito (verdadero).
  4. Nan no es un número, por lo que no es finito (falso).
  5. INF es infinito, por lo que no es finito (falso).

Ejemplo 3:
En este ejemplo, crearemos un tensor con dos dimensiones que tenga cinco elementos en cada fila y verificaremos si estos cinco son finitos o no.

#módulo de antorcha de Import
antorcha de importación
#cree un tensor 2D
datos1 = antorcha.tensor ([[[float ('-inf'), 34,56, float ('nan'), float ('inf')], [float ('-inf'), 100, -4, float ('nan' ), float ('inf')]])
#mostrar
Imprimir ("Tensor real:")
Imprimir (Data1)
Imprimir ("Verifique para finitos")
imprimir (antorcha.Isfinite (Data1))

Producción:

Tensor real:
tensor ([[-inf, 34., 56., nan, inf],
[-inf, 100., -4., nan, inf]])
Verifique si hay finito
tensor ([[falso, verdadero, verdadero, falso, falso],
[Falso, verdadero, verdadero, falso, falso]])

Laboral:

  1. -INF es un infinito negativo, por lo que no es finito (falso) para ambos.
  2. 34 no es ni infinito ni nan, por lo que es finito (verdadero). 100 no es ni infinito ni nan, por lo que es finito (verdadero).
  3. 56 no es ni infinito ni nan, por lo que es finito (verdadero). -4 no es ni infinito ni nan, por lo que es finito (verdadero).
  4. nan no es un número, por lo que no es finito (falso) para ambos.
  5. infinito es infinito, por lo que no es finito (falso) para ambos.

Trabajar con CPU

Si desea ejecutar una función isFinite () 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 con una dimensión que tenga cinco elementos en la CPU y verificaremos si estos cinco son finitos o no.

#módulo de antorcha de Import
antorcha de importación
#cree un tensor
datos1 = antorcha.tensor ([12,34,56,1, flotante ('inf')]).UPC()
#mostrar
Imprimir ("Tensor real:")
Imprimir (Data1)
Imprimir ("Verifique para finitos")
imprimir (antorcha.Isfinite (Data1))

Producción:

Tensor real:
tensor ([12., 34., 56., 1., inf])
Verifique si hay finito
tensor ([verdadero, verdadero, verdadero, verdadero, falso])

Laboral:

  1. 12 no es ni infinito ni nan, por lo que es finito (verdadero).
  2. 34 no es ni infinito ni nan, por lo que es finito (verdadero).
  3. 56 no es ni infinito ni nan, por lo que es finito (verdadero).
  4. 1 no es ni infinito ni nan, por lo que es finito (verdadero).
  5. INF es infinito, por lo que no es finito (falso).

Ejemplo 2:
En este ejemplo, crearemos un tensor con una dimensión que tenga cinco elementos en la CPU y verificaremos si estos cinco son finitos o no.

#módulo de antorcha de Import
antorcha de importación
#cree un tensor
datos1 = antorcha.tensor ([float ('-inf'), 34,56, float ('nan'), float ('inf')])).UPC()
#mostrar
Imprimir ("Tensor real:")
Imprimir (Data1)
Imprimir ("Verifique para finitos")
imprimir (antorcha.Isfinite (Data1))

Producción:

Tensor real:
tensor ([-inf, 34., 56., nan, inf])
Verifique si hay finito
tensor ([falso, verdadero, verdadero, falso, falso])

Laboral:

  1. -INF es un infinito negativo, por lo que no es finito (falso).
  2. 34 no es ni infinito ni nan, por lo que es finito (verdadero).
  3. 56 no es ni infinito ni nan, por lo que es finito (verdadero).
  4. Nan no es un número, por lo que no es finito (falso).
  5. INF es infinito, por lo que no es finito (falso).

Ejemplo 3:
En este ejemplo, crearemos un tensor con dos dimensiones que tenga cinco elementos en la CPU en cada fila y verificaremos si estos cinco son finitos o no.

#módulo de antorcha de Import
antorcha de importación
#cree un tensor 2D
datos1 = antorcha.tensor ([[[float ('-inf'), 34,56, float ('nan'), float ('inf')], [float ('-inf'), 100, -4, float ('nan' ), float ('inf')]]).UPC()
#mostrar
Imprimir ("Tensor real:")
Imprimir (Data1)
Imprimir ("Verifique para finitos")
imprimir (antorcha.Isfinite (Data1))

Producción:

Tensor real:
tensor ([[-inf, 34., 56., nan, inf],
[-inf, 100., -4., nan, inf]])
Verifique si hay finito
tensor ([[falso, verdadero, verdadero, falso, falso],
[Falso, verdadero, verdadero, falso, falso]])

Laboral:

  1. -INF es un infinito negativo, por lo que no es finito (falso) para ambos.
  2. 34 no es ni infinito ni nan, por lo que es finito (verdadero). 100 no es ni infinito ni nan, por lo que es finito (verdadero).
  3. 56 no es ni infinito ni nan, por lo que es finito (verdadero). -4 no es ni infinito ni nan, por lo que es finito (verdadero).
  4. nan no es un número, por lo que no es finito (falso) para ambos.
  5. infinito es infinito, por lo que no es finito (falso) para ambos.

Conclusión

En esta lección de Pytorch, discutimos isfinite (). Devuelve verdadero para los elementos si el elemento no es infinito o nan. De lo contrario, devuelve falso. Los elementos que se encuentran bajo la categoría infinita son -inf e INF.