Este artículo es la segunda parte de Un vistazo al uso de TensorFlow.

Escritura y Ejecución de programas en TensorFlow:

  1. Crear Tensor (variables) que no se ejecutan/evaluan.
  2. Escribir operaciones entre los tensores
  3. Inicializar los tensores
  4. Crear una Session
  5. Ejecutar la Session

A continuación trabajaremos con TensorFLow que calculará el error de un gráfico lineal.

Aquí defino la función:

Terminarás consiguiendo 9 en la consola. Entonces, las dos primeras líneas describen que estamos definiendo constantes. Luego, utilizando la variable de flujo del sensor, definimos la función de pérdida. Cuando se crea una variable para la pérdida, simplemente definimos la pérdida como una función de otras cantidades pero no evaluamos su valor. Para evaluarlo, tuvimos que ejecutar init = tf.global_variables_initializer(). Eso inicializó la variable de pérdida, y en la última línea, finalmente pudimos evaluar el valor de la pérdida e imprimir su valor. Luego obtenemos la salida cuando creamos la sesión y la ejecutamos.

Constantes vs Variables

En TensorFlow, las diferencias entre constantes y variables son que cuando se declara una constante, su valor no se puede cambiar en el futuro (también se inicialización debe ser un valor, no una operación).

Sin embargo, cuando declara una Variable, puede cambiar su valor en el futuro con el método tf.assign() (y la inicialización se puede lograr con un valor u operación).

La función tf.global_variables_initializer() inicializa todas las variables en su código con el valor pasado como parámetro, pero funciona en modo asíncrono, por lo que no funciona correctamente cuando existen dependencias de variables.

Veamos un ejemplo sencillo:

Como se esperaba, usted no verá nada. Tienes un tensor que dice que el resultado es un tensor (Tensor (“Mul: 0”, forma = (), dtype = int32)) que no tiene el atributo de forma, y es de tipo “int32”. Todo lo que hizo fue incluirlo en el “gráfico de cálculo”, pero aún no ha ejecutado este cálculo. Para multiplicar realmente los dos números, tendrá que crear una sesión y ejecutarla.

Para resumir, recuerde inicializar las variables, crear la sesión y ejecutar las operaciones dentro de la sesión.

¿Que es un Placeholder?

Un placeholder es un objeto cuyo valor puede especificar sólo más adelante. Para especificar valores en un placeholder, puede pasar valores utilizando un “diccionario de noticias” (variable feed_dict). A continuación creamos un placeholder para x. Esto nos permite pasar un número más tarde cuando ejecutamos la sesión.

Cuando inicialmente define x, no se sabe el valor para esta. Un placeholder es simplemente una variable que se le asignara data después, cuando inicie la sesión. En el ejemplo, estamos indicando que se agrega la data cuando inicia la session.

Para resumir, hemos revisado:

  • Variables y constantes
  • Creación de placeholders
  • Creación y ejecución de la sesión.

Este artículo esta basado en TensorFlow in a nutshell

Un vistazo al uso de TensorFlow (II)
Si te gusto, comparte ...Email this to someone
email
Share on Facebook
Facebook
Tweet about this on Twitter
Twitter
Share on LinkedIn
Linkedin
Share on Google+
Google+
Etiquetado en:        

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Facebook