Python | Tensore del thread nn.sigmoid ()

| | | | | | | | | | | | | | | |

Il modulo tensorflow.nn fornisce supporto per molte operazioni di base della rete neurale.

Una delle tante funzioni di attivazione è la funzione sigmoidea, che è definito come ,

La funzione sigmoide esce nell`intervallo (0, 1), il che la rende ideale per attività di classificazione binaria in cui è necessario trovare la probabilità che i dati appartengano a una determinata classe. La funzione sigmoide è differenziabile in ogni punto e la sua derivata risulta essere Poiché l`espressione include una funzione sigmoide, il suo valore può essere riutilizzato per accelerare la backpropagation.

La funzione sigmoide soffre del problema dei "gradienti di fuga" poiché si appiattisce su entrambe le estremità, determinando variazioni di peso molto piccole durante la propagazione all`indietro. Ciò può causare il rifiuto della rete neurale di apprendere e bloccarsi. Per questo motivo, l`uso della funzione sigmoidea è sostituito da altre funzioni non lineari, come l`unità lineare rettificata (ReLU).

tf.nn.sigmoid() [alias tf.sigmoid ] fornisce il supporto della funzione sigmoide in Tensorflow.

Sintassi : tf.nn.sigmoid (x, nome = Nessuno ) o tf.sigmoid (x, nome = Nessuno)

Parametri :
x : un tensore di uno qualsiasi dei seguenti tipi: float16 , float32, float64, complex64 o complex128.
nome (facoltativo): il nome dell`operazione.

Tipo restituito : un tensore con lo stesso tipo di quello di x.

Codice n. 1:


# Importa la libreria Tensorflow

import tensorflow come tf


# Vettore costante di dimensione 6

a = tf.constant ([ 1.0 , - 0.5 , 3.4 , - 2.1 , 0.0 , - 6.5 ], dtype = tf.float32 )


# Usando la funzione sigmoid e
# salva il risultato in ' b '

b = tf.nn.s igmoid (a, nome = `sigmoid` )


# Avvio di una sessione di Tensorflow
con tf.Session() come sess:

print ( `Tipo di input:` , a)

print ( `Input: ` , sess.run (a))

print ( ` Tipo restituito: ` , b)

print ( `Output:` , sess.run (b))

Output:

Tipo di input: Tensor ("Const_1: 0", shape = ( 6,), dtype = float32) Input: [1. -0.5 3.4000001 - 2.0999999 0. -6.5] Tipo restituito: Tensor ("sigmoid: 0", shape = (6,), dtype = float32) Output: [0.7310586 0.37754068 0.96770459 0.10909683 0.5 0.00150118] 

Codice n. 2: Rendering


# Importa la libreria Tensorflow

import tensorflow as tf


# Importazione della libreria NumPy

import numpy as np


# Importa funzione matplotlib.pylot

import matplotlib.pyplot as plt


# Dimensione vettoriale 15 con valori ​​da -5 a 5

a = < /codice> np.linspace ( - 5 , 5 , 15 )


# Applicazione della funzione sigmoid e
# salva il risultato in & #39; b '

b = tf.nn.sigmoid (a, nome = `sigmoid` )


# Inizia da una sessione di Tensorflow
con tf.Session() come sess:

print ( `Input:` , a)

print ( `Output:` , sess .run (b))

plt.plot (a, sess.run (b), color = `rosso` , marker = "o" )

plt. title ( "tensorflow.nn.sigmoid" )

plt.xlabel ( "X" )

plt.ylabel ( "Y" )


plt.show ()

Output:

Input: Input: [-cinque. -4,28571429 -3,57142857 -2,85714286 -2,14285714 -1,42857143 -0,71428571 0. 0,71428571 1,42857143 2,14285714 2,85714286 3,57142857 4,28571429 5.] Uscita: [0,00669285 0,01357692 0,02734679 0,05431327 0,10500059 0,19332137 0,32865255 0,5 0,67134745 0,80667863 0,89499941 0,94568673 0,97265321 0,98642308 0,99330715] 

< figure class = aligncenter amp-wp-inline-e407ac51e00eb7ad9e758d070160c9d8>