jueves, 26 de noviembre de 2015

¿Como instalar TensorFlow? y Primer Ejemplo

Salim A. Castellanos R.



Hola a todos, en un articulo pasado explique de forma muy introductoria ¿Que es TensorFlow? http://tensor-flow.blogspot.com.co/2015/11/que-es-tensor-flow-tensorflow.html, en esta ocasión explicare como instalarlo bajo un entorno Linux/Ubuntu.

Iniciare diciendo que TensorFlow soporta varios lenguajes, c++ que es en el cual fue codificado y por lo cual es más rápido y eficiente ejecutarlo desde aquí, pero también esta la opción de el ya muy extendido Python, que es el lenguaje que utilizaremos nosotros para acceder al API.

Requisitos de Software:

Necesitaremos entonces sobre nuestro entorno Linux, Python 2.7, utilizaremos la última versión de esta serie que es la 2.7.9, para lo que ejecutamos por consola:

// Nos aseguramos que nuestro sistema este al día, ignore si no quiere actualizar.
>> sudo apt-get update

// Instala la última versión de Python 2.7
>> sudo apt-get install python2.7

// Y algunas herramientas adicionales

>> sudo apt-get install python-pip

>> sudo apt-get install python-dev

>> sudo apt-get install python-virtualenv

// Consola para Python, recomendación usar
>> sudo apt-get install idle
// Instala TensorFlow CPU-only version
>> pip install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.5.0-cp27-none-linux_x86_64.whl
// Instala TensorFlow CPU-only version GPU-enabled version

>> pip install https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.5.0-cp27-none-linux_x86_64.whl
// Ejecutamos en nuestra consola Python, para asegurarnos que este funcionando (IDLE)
>> print “Hola mundo”
Hola mundo
>> import tensorflow as tf
>> hello = tf.constant('Hello, TensorFlow!')
>> sess = tf.Session()
>> print sess.run(hello)
Hello, TensorFlow!
>> a = tf.constant(10)
>> b = tf.constant(32)
>> print sess.run(a+b)
42

Y chicos, así damos por terminado nuestra instalación y primer ejemplo de TensorFlow, los espero en una próxima publicación en un par de días, compartan y hagan sus comentarios.


¿Que es Tensor Flow (TensorFlow)?


Salim A. Castellanos R.


TensorFlow es la flamante herramienta de Google para Deep Learning y manejo de Redes Neuronales, esta detrás de herramientas tan importantes como Google Traslate y en otras muchas de sus últimas funcionalidades, como por ejemplo organizar tus imágenes automáticamente por lugares donde fueron tomadas, e inclusive etiquetar fotos dependiendo de que encuentre en las imágenes, aunque obviamente hay que tener un poco de cuidado, hace algún tiempo se "viralizó" una noticia la cual comentaba que Google etiqueto automáticamente una foto en donde aparecía un joven afroamericano como que había un “Gorila” en ella, obviamente esto causo gran indignación y se corrigió el problema posteriormente. Inconvenientes como este son algunas de las cosas que podría pasar cuando una maquina y no un ser humano hace este tipo de trabajos, pero vamos, hay que seguir investigando para desarrollar mejores técnicas, es por eso en parte que Google libero TensorFlow.

TensorFlow es ahora una herramienta OpenSource y todos podemos usarla, pero se preguntaran, ¿Que puedo hacer con TensorFlow?, pues bien, con TensorFlow de forma relativamente sencilla puedo desarrollar “modelos” que permitan reconocer patrones de cualquier tipo, imaginen por ejemplo el problema de reconocer texto escrito, lo que se tendría que hacer es pasarle un número significativo de imágenes de letras escritas por personas con su valor real (Se produce una matrix), y con esto a través de Deep Learning (Más o menos Redes neuronales con identificadores anidados) se identificarían patrones para reconocer letras escritas por otras personas, la capacidad para que se pueda hacer en forma correcta depende también de la cantidad de data con que se pueda entrenar el programa, por lo cual como ven no siempre la herramienta es lo más importante; normalmente se diría que le enseñamos a la maquina a reconocer letras por lo cual tendría inteligencia, pero el tema para mí de la Inteligencia siempre estará en la “Consciencia de si misma”, pero bueno, este es tema tal vez para otro articulo.

Pero bueno, por estos días TensorFlow no es la única herramienta para Intelligent Computer Systems, (Además que existen algunas más que podrían ser llamada de primera generación), después de este gran anuncio Microsoft también libero su propia versión de herramientas para producir IA, aunque apunta un poco más a sistemas grandes y distribuidos, con poca documentación eso si, y ellos mismos lo advierten, les dejo aquí el link de la página oficial, http://www.dmtk.io/

Bueno, quería hacer un introducción muy corta, en el próximo articulo les mostrare como instalar TensorFlow, eso si, sobre Linux y en futuros ejemplos prácticos de esta interesante herramienta para IA.