Instalar tensorflow
Decidí instalar tensor flow y documentar todo el proceso desde la instalación hasta correr mis primeros modelos de machine learning (ML aprendizaje de maquina). La idea es que este blog le sirva a todos los que no saben inglés y que existan mas personas como yo, que sepan de tensor flow, de redes neuronales y las usen para hacer lo que quieran con ellas.
Las instrucciones y todo lo realizado aquí, es bajo el sistema operativo Ubuntu y para instalar Tensor Flow en python 2.7. Mi sistema usa Python bajo la distribución Anaconda que contiene la mayoría de paquetes necesarios para correr modelos de ML (scipy, sklearn, numpy etc)
Lo primero es ir a la pagina de Tensor Flow https://www.tensorflow.org/install/install_linux. Vamos a instalar Tensor Flow con soporte de CPU porque dice que es más fácil. Si bien tengo una tarjeta gráfica nvidia, (Nvidia Geforce 750, 2G de ram) prefiero empezar con la instalación mas sencilla y si algún modelo dura mucho corriendo me paso a la instalación con soporte de GPU.
Vamos a la nueva pagina https://www.tensorflow.org/install/install_linux#InstallingAnaconda donde contiene las instrucciónes de la instalación. Abrimos la terminal con ALT + CTL + T y ejecutamos el comando
$conda create -n tensorflow
Con este comando creamos un ‘ambiente’ (enviroment). Segun la pagina de conda https://conda.io/docs/intro.html Un ambiente es un directorio que contiene una colección especifica de paquetes que hemos instalado. Parece que la idea de los ambientes es poder probar nuevas versiones de algun paquete y mantener las versiones anteriores (en otro ambiente). Se puede cambiar entre ambientes con el comando source activate.
Nos pasamos al ambiente que acabamos de crear y de allí instalamos tensorflow
$source activate tensorflow
Para hacer la instalacion en Python 2,7 ejecutamos el comando
$ pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.2.1-cp27-none-linux_x86_64.whl
Despues de 3 minutos la instalación termina. Corremos un programa de prueba para ver si todo esta instalado correctamente.
Creamos el siguiente script en python y lo corremos
import tensorflow as tf
hello = tf.constant('Hola, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
Debería verse un Hola, TensorFlow en la pantalla. En mi caso la instalación resulto fácil: 1) Instalar Anaconda 2) Crear un ambientes 3) Instalar TensorFlow
Con estos pasos no deberia haber problema, sin embargo al cargar la librería tensorflow me salen los siguintes mensajes de advertencia:
2017-08-14 19:01:44.876747: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations. 2017-08-14 19:01:44.876769: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations. 2017-08-14 19:01:44.876774: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations. 2017-08-14 19:01:44.876777: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations. 2017-08-14 19:01:44.876780: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.
Los mensajes dicen que Tensorflow pudo haber sido compilado con la instrucción SSE4.1, SSE4.2, AVX, AVX2 y FMA porque están disponibles en mi sistema y estos ayudan a correr más rapido los modelos. Aparentemente mi maquina es muy buena :).
Para poder accelerar tensorflow se debe de compilar el programa desde el código y así poder mejorar la instalación. Esa instalación la dejare para luego.