Instalación de TensorFlow y entorno de desarrollo Python en Mac

0
4003
Logos TensorFlow + Python

Periódicamente tengo la necesidad de tocar la tecnología por mí mismo y creo que tener ciertos conocimientos de aprendizaje automático no me va a venir nada mal. Aunque diría que el 90% de los sistemas son CRUDs (altas, bajas, consultas y modificaciones) lo que de verdad va a aportar valor es hacerlos un poco más listos.

¿Acaso el ERP, CRM, sistema de control de gestión o de recursos humanos de tu empresa te dice cosas muy listas o se las dices tú a él a través de los menús? ¿Se anticipa a tus necesidades? ¿Te ofrece oportunidades? Pues creo que hay una oportunidad clara futura.

Bueno, paso a paso. Voy a empezar por la instalación de Tensorflow y la preparación del entorno para trabajar con Python 3. Como siempre pasa la primera vez, te tiras toda una mañana navegando entre enlaces desactualizados hasta que entiendes qué falla y luego en tres minutos eres capaz de resolverlo. Espero que esto os valga para ahorrar tiempo.

El resumen es sencillo:

  • Instala Python (no la última versión sino una compatible de con TensorFlow).
  • Configura el entorno Mac que por defecto utiliza la versión 2 de Python y no la 3, modificando las variables de entorno de arranque y en el Shell por defecto (Terminal).
  • Ejecuta el script de instalación de TensorFlow y prueba en local.
  • Configura un entorno cómodo para probar, como puede ser Microsoft Visual Studio Code.
  • Configura las extensiones para trabajar con Python y Tensorflow.

Estoy usando un ordenador no muy actual (del 2015), a ver cómo se comporta. Luego podremos comparar con otro más moderno la diferencia de rendimiento.

MacOS-Bigsur

Vamos a la página de Tensorflow:

Leed las instrucciones y comprobareis que la versión máxima permitida (es la 3.8 a 25 noviembre de 2020). No intentéis instalar mas modernas que no va.

Tensorflow web page

9Vamos a instalar Python, que es un pre-requisito. OJITO aquí y elegir 3.8.

Python web, última versión

Hay una artículo muy útil de cómo instalar Python 3 en Mac. Ya el dibujo es bastante ilustrativo sobre los líos que hay de dependencias y versiones.

Gráfica de Dependencias y Versiones de Python

En Mac viene instalado por defecto Python 2. Para poder utilizar el 3 vamos a hacer algo sencillo, que es modificar las variables de entorno del arranque.

Vamos a modificar el .bash_profile en nuestro Mac para crear el alias de Python y pip (gestión de paquetes, que ya viene instalado por defecto con la versión 3 de Python).

También recordad que nuestro terminal trae por defecto el Shell zsh (aplicación terminal) y que si no modificamos el .zshrc no veremos las variables aplicadas.

Comprobar el Shell porque sino os podéis volver locos por no saber que os falla al cambiar el .bash_profile.

Shell

Vemos los comandos para crear el alias y para invocar el mismo .bash_profile desde el .zshrc (la configuración del Shell por defecto).

bash_profile

Verificamos que las versiones son las correctas de Python.

Versiones

Ahora ejecutamos los comandos de instalación de TensorFlow.

pip install --upgrade pip
pip install tensorflow

No hay nada relevante por aquí. Como siempre comprobar que no sale ninguna pantalla de aviso diciendo que no tenéis permisos (y usar sudo si es necesario) o que alguna dependencia (como pip) esta desactualizada (y te ofrece el comando para actualizarlo).

Comprobaciones de Tensorflow

Vamos a probar que funciona la instalación con el siguiente comando (de https://tensorflow-object-detection-api-tutorial.readthedocs.io/en/latest/install.html) en la consola de Python.

Pruebas de instalación

Si algo os falla revisad este artículo que puede ser útil para configurar TensorFlow si llegados aquí algo no funciona.

Ahora vamos a instalar un entorno de desarrollo para Python. Microsoft Visual Studio Code no parece mala opción. Tengo algunos otros tutoriales de cómo utilizar cursores múltiples y otras cosas chulas.

Descargamos la última versión de MS Visual Studio Code. Una vez instalado comprobar que aparece, en la parte de Customize, Python. Pulsamos.

Visual Studio Code

También podemos descargarnos los Snippets de TensorFlow en la sección de extensiones.

Snippets de TensorFlow en la sección de extensiones

Fijaos que pregunta por la versión del interprete que queremos utilizar (mirad siempre en la parte inferior derecha si os ofrece opciones).

Opciones

Creamos una carpeta para nuestro proyecto y un fichero hola mundo. Dando al play comprobamos que todo funciona.

Ojito si estáis en Mac con poner una carpeta de iCloud porque os podéis volver locos con los paths en algunas actualizaciones. Mejor que no haya espacios dentro del path (otra tontada que me ha dado quebraderos de cabeza).

Organización proyecto

No parece mala idea el crearnos unos entornos virtuales para no volvernos locos con variables de entorno y dependencias en nuestros proyectos Python.

python -m venv .venv
source .venv/bin/activate

Simplemente, confirmar que queremos trabajar con ese entorno virtual. Como es de esperar, es posible que tengamos que instalar en los entornos virtuales TensorFlow.

Confirmacion-entorno-virtual

Ahora vamos a usar otro fichero de prueba (plato.py) para ver que las dependencias se importan bien.

Dependencias se importan bien

Ya tenemos el entorno funcionando, ahora solo nos tenemos que poner con nuestro proyecto en Tensorflow.

Proyecto TensorFlow

Bueno, como siempre, esto que es una chorrada. Te pude costar una mañana o, como ahora reproduzco en otro Mac, puedes tenerlo en minutos.

Suerte y si quieres más, puedes seguir con mi tutorial donde vemos una revisión de los ejemplos de TensorFlow con código en MS Visual Studio Code y Notebooks Jupyter en colab.

DEJA UNA RESPUESTA

Por favor ingrese su comentario!

He leído y acepto la política de privacidad

Por favor ingrese su nombre aquí

Información básica acerca de la protección de datos

  • Responsable:
  • Finalidad:
  • Legitimación:
  • Destinatarios:
  • Derechos:
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad