Python | Tensor de hilo nn.sigmoid ()

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

El módulo tensorflow.nn brinda soporte para muchas operaciones básicas de redes neuronales.

Una de las muchas funciones de activación es la función sigmoide, que se define como ,

La función sigmoide genera un rango (0, 1), lo que la hace ideal para Tareas de clasificación binaria donde necesitamos encontrar la probabilidad de que los datos pertenezcan a una determinada clase. La función sigmoidea es diferenciable en cada punto, y su derivada resulta ser Dado que la expresión incluye una función sigmoidea, su valor se puede reutilizar para acelerar la retropropagación.

La función sigmoidea sufre el problema de los "gradientes que se desvanecen", ya que se aplana en ambos extremos, lo que resulta en cambios de peso muy pequeños cuando se propaga hacia atrás. Esto puede hacer que la red neuronal se niegue a aprender y se atasque. Por este motivo, el uso de la función sigmoidea se sustituye por otras funciones no lineales, como la unidad lineal rectificada (ReLU).

tf.nn.sigmoid() [alias tf.sigmoid ] proporciona compatibilidad con la función sigmoide en Tensorflow.

Sintaxis : tf.nn.sigmoid (x, nombre = Ninguno ) o tf.sigmoid (x, nombre = Ninguno)

Parámetros :
x : Un tensor de cualquiera de los siguientes tipos: float16 , float32, float64, complex64 o complex128.
nombre (opcional): el nombre de la operación.

Tipo de valor devuelto : un tensor con el mismo tipo que el de x.

Código # 1:


# Importar biblioteca de Tensorflow

import tensorflow as tf


# Vector constante de tamaño 6

a = tf.constant ([ 1.0 , - 0.5 , 3.4 , - 2.1 , 0.0 , < clase de código = "palabra clave"> - 6.5 ], dtype = tf.float32 )


# Usando la función sigmoide y
# guardar el resultado en ' segundo '

b = tf.nn.s igmoide (a, nombre = `sigmoide` )


# Iniciando una sesión de Tensorflow
con tf.Session() como sesión:

imprimir ( `Tipo de entrada:` , a)

imprimir < clase de código = "simple"> ( `Entrada: ` , sess.run (a))

imprimir ( ` Tipo de retorno: ` , b)

imprimir ( `Salida:` , sess.run (b))

Salida:

Tipo de entrada: Tensor ("Const_1: 0", forma = ( 6,), dtype = float32) Entrada: [1. -0.5 3.4000001 - 2.0999999 0. -6.5] Tipo de retorno: Tensor ("sigmoid: 0", forma = (6,), dtype = float32) Salida: [0.7310586 0.37754068 0.96770459 0.10909683 0.5 0.00150118] 

Código # 2: Representación


# Importar biblioteca de Tensorflow

importar tensorflow as tf


# Importando la biblioteca NumPy

import numpy as np


# Importar función matplotlib.pylot

importar matplotlib.pyplot as plt


# Vector tamaño 15 con valores ‚Äã‚Äã de -5 a 5

a = < /código> np.linspace ( - 5 , < /código> 5 , 15 )


# Aplicando la función sigmoidea y
# guarda el resultado en & #39; segundo '

b = tf.nn.sigmoid (a, nombre = `sigmoide` )


# Iniciar desde una sesión de Tensorflow
con tf.Session() como sesión:

print ( `Entrada:` , a)

imprimir ( `Salida:` , sess .ejecutar (b))

plt.plot (a, sess.ejecutar (b), color = `rojo` , marcador = "o" )

plt. título ( "tensorflow.nn.sigmoid" )

plt.xlabel ( "X" )

plt.ylabel ( "Y" )


plt.show()

Salida:

Entrada: Entrada: [-cinco. -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.] Salida: [0,01357692 0,02734679 0,05431327 0,00669285 0,10500059 0,19332137 0,32865255 0,67134745 0,80667863 0,89499941 0,5 0,94568673 0,97265321 0,98642308 0,99330715] 

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