Pytorch - isfinite

Pytorch - isfinite
Pytorch è un framework open source per il linguaggio di programmazione Python.

Un tensore è un array multidimensionale utilizzato per archiviare i dati. Quindi, per usare un tensore, dobbiamo importare il modulo Torcia.

Per creare un tensore, il metodo utilizzato è tensore ().

Sintassi:
torcia.tensore (dati)

Dove i dati sono un array multidimensionale.

torcia.isfinite ()

isfinite () in pytorch ritorna vero se l'elemento non è infinito (ad esempio, non dovrebbero essere nan, infinito positivo e infinito negativo). Altrimenti, restituisce falso. Ci vuole un parametro.

Sintassi:
torcia.isfinite (tensor_object)

Parametro:
tensor_object è un tensore.

Ritorno:
Restituirà un tensore booleano rispetto al tensore effettivo.

Rappresentazione:

Infinito positivo - float ('inf')
Infinito negativo - float (' - inf')
Non un numero - float ('nan')

Esempio 1:
In questo esempio, creeremo un tensore con una dimensione che ha cinque elementi e verificheremo se quei cinque sono finiti o no.

Modulo Torcia #IMport
Torcia di importazione
#Crea un tensore
data1 = torcia.tensore ([12,34,56,1, float ('inf')])
#Schermo
Stampa ("Tensore reale:")
Stampa (Data1)
Stampa ("Controlla per finito")
Stampa (torcia.isfinite (data1))

Produzione:

Tensor reale:
tensore ([12., 34., 56., 1., INF])
Controlla la finitura
tensore ([vero, vero, vero, vero, falso])

Lavorando:

  1. 12 non è né infinito né nan, quindi è finito (vero).
  2. 34 non è né infinito né nan, quindi è finito (vero).
  3. 56 non è né infinito né nan, quindi è finito (vero).
  4. 1 non è né infinito né nan, quindi è finito (vero).
  5. Inf Is Infinity quindi non è finito (falso).

Esempio 2:
In questo esempio, creeremo un tensore con una dimensione che ha cinque elementi e verificheremo se questi cinque sono finiti o no.

Modulo Torcia #IMport
Torcia di importazione
#Crea un tensore
data1 = torcia.tensore ([float ('-inf'), 34,56, float ('nan'), float ('inf')])
#Schermo
Stampa ("Tensore reale:")
Stampa (Data1)
Stampa ("Controlla per finito")
Stampa (torcia.isfinite (data1))

Produzione:

Tensor reale:
tensore ([-inf, 34., 56., nan, inf])
Controlla la finitura
tensore ([falso, vero, vero, falso, falso])

Lavorando:

  1. -Inf è infinito negativo, quindi non è finito (falso).
  2. 34 non è né infinito né nan, quindi è finito (vero).
  3. 56 non è né infinito né nan, quindi è finito (vero).
  4. NAN non è un numero, quindi non è finito (falso).
  5. INF è infinito, quindi non è finito (falso).

Esempio 3:
In questo esempio, creeremo un tensore con due dimensioni che ha cinque elementi in ogni riga e verificheremo se questi cinque sono finiti o no.

Modulo Torcia #IMport
Torcia di importazione
#Crea un tensore 2D
data1 = torcia.tensore ([[float ('-inf'), 34,56, float ('nan'), float ('inf')], [float ('-inf'), 100, -4, float ('nan' ), float ('inf')]])
#Schermo
Stampa ("Tensore reale:")
Stampa (Data1)
Stampa ("Controlla per finito")
Stampa (torcia.isfinite (data1))

Produzione:

Tensor reale:
tensore ([[-inf, 34., 56., nan, inf],
[-inf, 100., -4., nan, inf]))
Controlla la finitura
tensore ([[falso, vero, vero, falso, falso],
[Falso, vero, vero, falso, falso]])

Lavorando:

  1. -Inf è infinito negativo, quindi non è finito (falso) per entrambi.
  2. 34 non è né infinito né nan, quindi è finito (vero). 100 non è né infinito né nan, quindi è finito (vero).
  3. 56 non è né infinito né nan, quindi è finito (vero). -4 non è né infinito né nan, quindi è finito (vero).
  4. NAN non è un numero, quindi non è finito (falso) per entrambi.
  5. Inf è infinito, quindi non è finito (falso) per entrambi.

Lavorare con la CPU

Se si desidera eseguire una funzione isfinite () sulla CPU, allora dobbiamo creare un tensore con una funzione CPU (). Questo funzionerà su una macchina CPU.

Al momento, quando stiamo creando un tensore, possiamo usare la funzione CPU ().

Sintassi:
torcia.tensore (dati).processore()

Esempio 1:
In questo esempio, creeremo un tensore con una dimensione che ha cinque elementi sulla CPU e verificheremo se questi cinque sono finiti o no.

Modulo Torcia #IMport
Torcia di importazione
#Crea un tensore
data1 = torcia.tensore ([12,34,56,1, float ('inf')]).processore()
#Schermo
Stampa ("Tensore reale:")
Stampa (Data1)
Stampa ("Controlla finiti")
Stampa (torcia.isfinite (data1))

Produzione:

Tensor reale:
tensore ([12., 34., 56., 1., INF])
Controlla la finitura
tensore ([vero, vero, vero, vero, falso])

Lavorando:

  1. 12 non è né infinito né nan, quindi è finito (vero).
  2. 34 non è né infinito né nan, quindi è finito (vero).
  3. 56 non è né infinito né nan, quindi è finito (vero).
  4. 1 non è né infinito né nan, quindi è finito (vero).
  5. INF è infinito, quindi non è finito (falso).

Esempio 2:
In questo esempio, creeremo un tensore con una dimensione che ha cinque elementi sulla CPU e verificheremo se questi cinque sono finiti o no.

Modulo Torcia #IMport
Torcia di importazione
#Crea un tensore
data1 = torcia.tensore ([float ('-inf'), 34,56, float ('nan'), float ('inf')]).processore()
#Schermo
Stampa ("Tensore reale:")
Stampa (Data1)
Stampa ("Controlla finiti")
Stampa (torcia.isfinite (data1))

Produzione:

Tensor reale:
tensore ([-inf, 34., 56., nan, inf])
Controlla la finitura
tensore ([falso, vero, vero, falso, falso])

Lavorando:

  1. -Inf è infinito negativo, quindi non è finito (falso).
  2. 34 non è né infinito né nan, quindi è finito (vero).
  3. 56 non è né infinito né nan, quindi è finito (vero).
  4. NAN non è un numero, quindi non è finito (falso).
  5. INF è infinito, quindi non è finito (falso).

Esempio 3:
In questo esempio, creeremo un tensore con due dimensioni che ha cinque elementi sulla CPU in ogni riga e verificheremo se questi cinque sono finiti o no.

Modulo Torcia #IMport
Torcia di importazione
#Crea un tensore 2D
data1 = torcia.tensore ([[float ('-inf'), 34,56, float ('nan'), float ('inf')], [float ('-inf'), 100, -4, float ('nan' ), float ('inf')]]).processore()
#Schermo
Stampa ("Tensore reale:")
Stampa (Data1)
Stampa ("Controlla finiti")
Stampa (torcia.isfinite (data1))

Produzione:

Tensor reale:
tensore ([[-inf, 34., 56., nan, inf],
[-inf, 100., -4., nan, inf]))
Controlla la finitura
tensore ([[falso, vero, vero, falso, falso],
[Falso, vero, vero, falso, falso]])

Lavorando:

  1. -Inf è infinito negativo, quindi non è finito (falso) per entrambi.
  2. 34 non è né infinito né nan, quindi è finito (vero). 100 non è né infinito né nan, quindi è finito (vero).
  3. 56 non è né infinito né nan, quindi è finito (vero). -4 non è né infinito né nan, quindi è finito (vero).
  4. NAN non è un numero, quindi non è finito (falso) per entrambi.
  5. Inf è infinito, quindi non è finito (falso) per entrambi.

Conclusione

In questa lezione di Pytorch, abbiamo discusso di isfinite (). Restituisce vero per gli elementi se l'elemento non è infinito o nan. Altrimenti, restituisce falso. Gli elementi che rientrano nella categoria infinita sono -inf e infe.