Revisión de ejemplos de TensorFlow

0
539
Logo de TensorFlow sobre fondo negro

Este tutorial es el segundo de una serie relacionada con TensorFlow. Si quieres puedes empezar por el principio:

Antes de empezar a hacer cosas propias con una tecnología, creo que es mejor simplemente seguir las guías oficiales, adquirir porciones reutilizadas de código y leerse los manuales para coger contexto.

Casi seguro que lo que luego tengamos que hacer inicialmente, será una combinación de ideas y ejemplos existentes.

Uno de los primeros ejemplos que podemos encontrar es una clasificación de imágenes de moda: en base a una catalogación amplia inicial (aprendizaje guiado) podemos obtener la probabilidad de pertenencia a una etiqueta en la catalogación de imágenes nuevas. El tutorial original lo podéis encontrar en este enlace.

El tutorial tiene multitud de explicaciones (mejor leerlas) y sólo me voy a centrar en la configuración del entorno y la visualización en las herramientas disponibles (y extensiones).

Vista de la web de Tensor flow donde está el ejemplo

Antes de utilizar un ejemplo más complejo, vamos a utilizar uno simple para asegurarnos que toda la instalación de nuestro entorno en MS Studio y TensorFlow funcionan.

Config-Code-Tensorflow

En MS Visual Studio Code simplemente lo ejecutamos.

Terminal MS Visual Studio Code

Ahora vamos a utilizar el ejemplo de clasificación que nos hemos descargado (o copiado y pegado porciones).

La primera porción de código descarga una colección de imágenes y etiquetas que cualifican esas imágenes.

Lo interesante de este ejemplo es verificar que las comunicaciones funcionan correctamente (se descargan los ficheros de imágenes). Como podemos comprobar, nos da un error de certificados.

MS Visual Studio Code

Si revisamos la carpeta de instalación de Python (recordar que es la 3.8 aunque haya más modernas), veremos que hay un script para instalar los certificados necesario.

Simplemente lo ejecutamos. Aquí tendría un poquito de cuidado si no funcionase con los entornos virtuales y los ámbitos. A mí, ejecutado globalmente me ha funcionado (no me he parado a investigar más).

Install Certificates.Command

Vemos que funcione correctamente.

Proceso-Completado

Ampliando el ejemplo podemos verificar que pinta correctamente la imagen de entrenamiento (con índice) 0.

Visualización de la imagen

Ampliamos la funcionalidad y podemos comprobar una rejilla de imágenes de prueba.

Prueba rejilla imágenes

Este es el aspecto que tiene la pantalla de salida.

Galería Imágenes

Lo siguiente que hacemos es entrenar el modelo diciendo que las imágenes corresponden a las etiquetas para que el sistema infiera.

Los epochs (ver https://towardsdatascience.com/epoch-vs-iterations-vs-batch-size-4dfb9c7ce9c9) o pasadas del dataset por la red neuronal están limitadas a 10.

Pasadas-Dataset

Los ejemplos los podemos seguir ejecutando en nuestra plataforma local (MS Visual Studio) o utilizar los notebooks de Jupyter que son una mezcla de documentación y de código. Podéis descargarlo aquí.

Notebooks

Dentro de nuestro entornos podemos instalar extensiones, como Anaconda (u otros), para utilizar el fichero Jupyter. El fichero puede utilizarse en local o en remoto.

Anaconda Extension Pack

Y al abrir el fichero se formatea correctamente en pequeñas células. Ojo que tenemos que ejecutarlo secuencialmente para que tenga sentido (cada célula) dentro del contexto.

Formateo archivo Anaconda

Dentro de los notebooks están las celdas (porciones) donde podemos ver los datos directamente. También podemos cambiar los valores para ver qué sucede.

Celdas en Notebook

El sistema nos va pidiendo la instalación de las dependencias adecuadas.

Peticion de Dependencias

Esto nos permite hacer visualizaciones intermedias de los resultados simplemente invocando las variables.

Invocación de Variables

También recordad que no es necesario instalar nada para correr y modificar los ejemplos, ya que se puede usar colab (de Google) para visualizar los ficheros Jupyter.

Simplemente tenéis que seguir este enlace.

Galería Final

Con esto ya tenemos los conocimientos para manipular los ejemplos tanto en la herramienta de código cómo en las plataformas interactivas. Lo siguiente será seguir los tutoriales para entender todos los conceptos involucrados: atributos, etiquetas, modelos, funciones de perdida, etc.

Si quieres, puedes continuar con el siguiente tutorial: Principios de aprendizaje automático supervisado.

Dejar respuesta

Please enter your comment!
Please enter your name here