Pytorch - isfinite

Pytorch - isfinite
Pytorch é uma estrutura de código aberto para a linguagem de programação Python.

Um tensor é uma matriz multidimensional que é usada para armazenar os dados. Então, para usar um tensor, temos que importar o módulo da tocha.

Para criar um tensor, o método usado é tensor ().

Sintaxe:
tocha.Tensor (dados)

Onde os dados são uma matriz multidimensional.

tocha.isfinite ()

isfinite () em pytorch retorna true se o elemento não for infinito (por exemplo, eles não devem ser nan, infinito positivo e infinito negativo). Caso contrário, ele retorna falso. É preciso um parâmetro.

Sintaxe:
tocha.isfinite (tensor_object)

Parâmetro:
tensor_object é um tensor.

Retornar:
Ele retornará um tensor booleano em relação ao tensor real.

Representação:

Infinito positivo - Float ('Inf')
Infinito negativo - Float (' - Inf')
Não é um número - Float ('nan')

Exemplo 1:
Neste exemplo, criaremos um tensor com uma dimensão que tenha cinco elementos e verifique se esses cinco são finitos ou não.

#import módulo tocha
importação de tocha
#Crie um tensor
Data1 = Torch.Tensor ([12,34,56,1, Float ('Inf']]))
#mostrar
Imprimir ("Tensor real:")
Imprimir (Data1)
Imprima ("Verifique para finito")
Imprimir (tocha.isfinite (data1))

Saída:

Tensor real:
Tensor ([12., 34., 56., 1., inf])
Verifique se há finito
tensor ([verdadeiro, verdadeiro, verdadeiro, verdadeiro, falso])

Trabalhando:

  1. 12 não é infinito nem nan, então é finito (verdadeiro).
  2. 34 não é infinito nem nan, então é finito (verdadeiro).
  3. 56 não é infinito nem nan, então é finito (verdadeiro).
  4. 1 não é infinito nem nan, então é finito (verdadeiro).
  5. INF é infinito, então não é finito (falso).

Exemplo 2:
Neste exemplo, criaremos um tensor com uma dimensão que tenha cinco elementos e verifique se esses cinco são finitos ou não.

#import módulo tocha
importação de tocha
#Crie um tensor
Data1 = Torch.Tensor ([Float ('-Inf'), 34,56, Float ('Nan'), Float ('Inf')]))
#mostrar
Imprimir ("Tensor real:")
Imprimir (Data1)
Imprima ("Verifique para finito")
Imprimir (tocha.isfinite (data1))

Saída:

Tensor real:
Tensor ([-Inf, 34., 56., nan, inf])
Verifique se há finito
tensor ([falso, verdadeiro, verdadeiro, falso, falso])

Trabalhando:

  1. -Inf é infinito negativo, por isso não é finito (falso).
  2. 34 não é infinito nem nan, então é finito (verdadeiro).
  3. 56 não é infinito nem nan, então é finito (verdadeiro).
  4. Nan não é um número, por isso não é finito (falso).
  5. Inf é o infinito, por isso não é finito (falso).

Exemplo 3:
Neste exemplo, criaremos um tensor com duas dimensões que possuem cinco elementos em cada linha e verificaremos se esses cinco são finitos ou não.

#import módulo tocha
importação de tocha
#Crie um tensor 2D
Data1 = Torch.tensor ([[float ('-inf'), 34,56, float ('nan'), float ('inf')], [float ('-inf'), 100, -4, float ('nan' ), Float ('Inf')]])
#mostrar
Imprimir ("Tensor real:")
Imprimir (Data1)
Imprima ("Verifique para finito")
Imprimir (tocha.isfinite (data1))

Saída:

Tensor real:
Tensor ([[-Inf, 34., 56., nan, inf],
[-inf, 100., -4., nan, inf]])
Verifique se há finito
tensor ([[falso, verdadeiro, verdadeiro, falso, falso],
[Falso, verdadeiro, verdadeiro, falso, falso]])

Trabalhando:

  1. -Inf é infinito negativo, por isso não é finito (falso) para ambos.
  2. 34 não é infinito nem nan, então é finito (verdadeiro). 100 não é infinito nem nan, então é finito (verdadeiro).
  3. 56 não é infinito nem nan, então é finito (verdadeiro). -4 não é infinito nem nan, então é finito (verdadeiro).
  4. Nan não é um número, então não é finito (falso) para ambos.
  5. Inf é infinito, então não é finito (falso) para ambos.

Trabalhe com a CPU

Se você deseja executar uma função isfinite () na CPU, temos que criar um tensor com uma função CPU (). Isso será executado em uma máquina de CPU.

Neste momento, quando estamos criando um tensor, podemos usar a função CPU ().

Sintaxe:
tocha.Tensor (dados).CPU()

Exemplo 1:
Neste exemplo, criaremos um tensor com uma dimensão que tenha cinco elementos na CPU e verifique se esses cinco são finitos ou não.

#import módulo tocha
importação de tocha
#Crie um tensor
Data1 = Torch.Tensor ([12,34,56,1, Float ('Inf']])).CPU()
#mostrar
Imprimir (“Tensor real:“)
Imprimir (Data1)
Imprima (“Verifique o finito”)
Imprimir (tocha.isfinite (data1))

Saída:

Tensor real:
Tensor ([12., 34., 56., 1., inf])
Verifique se há finito
tensor ([verdadeiro, verdadeiro, verdadeiro, verdadeiro, falso])

Trabalhando:

  1. 12 não é infinito nem nan, então é finito (verdadeiro).
  2. 34 não é infinito nem nan, então é finito (verdadeiro).
  3. 56 não é infinito nem nan, então é finito (verdadeiro).
  4. 1 não é infinito nem nan, então é finito (verdadeiro).
  5. Inf é o infinito, por isso não é finito (falso).

Exemplo 2:
Neste exemplo, criaremos um tensor com uma dimensão que tenha cinco elementos na CPU e verifique se esses cinco são finitos ou não.

#import módulo tocha
importação de tocha
#Crie um tensor
Data1 = Torch.Tensor ([Float ('-Inf'), 34,56, Float ('Nan'), Float ('Inf')])).CPU()
#mostrar
Imprimir (“Tensor real:“)
Imprimir (Data1)
Imprima (“Verifique o finito”)
Imprimir (tocha.isfinite (data1))

Saída:

Tensor real:
Tensor ([-Inf, 34., 56., nan, inf])
Verifique se há finito
tensor ([falso, verdadeiro, verdadeiro, falso, falso])

Trabalhando:

  1. -Inf é infinito negativo, por isso não é finito (falso).
  2. 34 não é infinito nem nan, então é finito (verdadeiro).
  3. 56 não é infinito nem nan, então é finito (verdadeiro).
  4. Nan não é um número, por isso não é finito (falso).
  5. Inf é o infinito, por isso não é finito (falso).

Exemplo 3:
Neste exemplo, criaremos um tensor com duas dimensões que possuem cinco elementos na CPU em cada linha e verifique se esses cinco são finitos ou não.

#import módulo tocha
importação de tocha
#Crie um tensor 2D
Data1 = Torch.tensor ([[float ('-inf'), 34,56, float ('nan'), float ('inf')], [float ('-inf'), 100, -4, float ('nan' ), Float ('Inf')]]).CPU()
#mostrar
Imprimir (“Tensor real:“)
Imprimir (Data1)
Imprima (“Verifique o finito”)
Imprimir (tocha.isfinite (data1))

Saída:

Tensor real:
Tensor ([[-Inf, 34., 56., nan, inf],
[-inf, 100., -4., nan, inf]])
Verifique se há finito
tensor ([[falso, verdadeiro, verdadeiro, falso, falso],
[Falso, verdadeiro, verdadeiro, falso, falso]])

Trabalhando:

  1. -Inf é infinito negativo, por isso não é finito (falso) para ambos.
  2. 34 não é infinito nem nan, então é finito (verdadeiro). 100 não é infinito nem nan, então é finito (verdadeiro).
  3. 56 não é infinito nem nan, então é finito (verdadeiro). -4 não é infinito nem nan, então é finito (verdadeiro).
  4. Nan não é um número, então não é finito (falso) para ambos.
  5. Inf é infinito, então não é finito (falso) para ambos.

Conclusão

Nesta lição de Pytorch, discutimos isfinite (). Ele retorna verdadeiro para os elementos se o elemento não for infinito ou nan. Caso contrário, ele retorna falso. Os elementos que estão sob a categoria Infinita são -inf e Inf.