Pytorch - ISInf

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

Um tensor é uma matriz multidimensional que é usada para armazenar dados. Então, para usar um tensor, temos para 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.isinf ()

Em Pytorch, o ISINF () retorna true para os elementos se o elemento for infinito (infinito positivo ou infinito negativo). Caso contrário, ele retorna falso.

É preciso um parâmetro.

Sintaxe:
tocha.isinf (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 infinitos 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 infinito")
Imprimir (tocha.ISINF (Data1))

Saída:

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

Trabalhando:

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

Exemplo 2:
Neste exemplo, criaremos um tensor com uma dimensão que tenha cinco elementos e verifique se esses cinco são infinitos 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 infinito")
Imprimir (tocha.ISINF (Data1))

Saída:

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

Trabalhando:

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

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 infinitos 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 infinito")
Imprimir (tocha.ISINF (Data1))

Saída:

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

Trabalhando:

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

Trabalhe com a CPU

Se você deseja executar uma função isinf () 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 infinitos 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 infinito")
Imprimir (tocha.ISINF (Data1))

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

Trabalhando:

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

Exemplo 2:
Neste exemplo, criaremos um tensor com uma dimensão que tenha cinco elementos na CPU e verifique se esses cinco são infinitos 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 infinito")
Imprimir (tocha.ISINF (Data1))

Saída:

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

Trabalhando:

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

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 infinitos 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 infinito")
Imprimir (tocha.ISINF (Data1))

Saída:

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

Trabalhando:

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

Conclusão

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