Deep Learning fácil: Crea una Aplicación que “colorea” fotos en unos minutosPaloma Recuero de los Santos 22 enero, 2019 No nos engañemos, el Deep Learning está revolucionando el mundo de la IA porque nos permite hacer cosas increíbles. Cosas que tienen un gran impacto en nuestra vida diaria. Sin embargo, no hace falta ser un experto para poder crear sencillas aplicaciones que usan Deep Learning para hacer todo tipo de cosas. En particular, hoy vamos a “jugar” a colorear una foto creando nuestra propia aplicación en mucho menos de una hora. ¿Qué vamos a necesitar para este sencillo experimento? Tener Python instalado (2 o 3), y unas sencillas nociones. Si no es vuestro caso, no hay problema, porque en este otro post de nuestro blog os explicamos cómo hacerlo paso a pasoTener acceso a internet (vamos a usar una API desarrollada por Algorithmia)Créditos de Algorithmia, que no nos van costar nada porque al registrarnos nos regalan 5000 créditos para que hagamos las pruebas que queramos. Quizás no esté de más explicar un poco antes, qué es una API y a qué nos referimos cuando hablamos de Algorithmia. ¿Qué es una API? La abreviatura viene del término en inglés Application Programming Interfaces (Interfaces de programación de aplicaciones), que se aplica a un conjunto de reglas (código) y especificaciones que las aplicaciones pueden seguir para comunicarse entre ellas. Las APIs pueden servir para comunicarse con el sistema operativo (por ejemplo, WinAPI), con bases de datos (DBMS), con protocolos de comunicaciones (Jabber/XMPP), con redes sociales (Twitter, Facebook, Youtube, Linkedin etc), y otras plataformas online (Google Maps, Blogger, etc). Hacen mucho más fácil el trabajo del programador ya que permiten usar funciones predefinidas para interactuar con otro software u otra plataforma. Incluso, en el caso de herramientas propietarias (es decir, las que no son de código abierto), indican a los programadores de otras aplicaciones cómo incorporar una funcionalidad concreta sin tener que dar información sobre cómo se realiza internamente ese proceso. En nuestro pequeño experimento con Deep Learning, usaremos una API para crear una sencilla aplicación. ¿Qué es Algorithmia? Algorithmia fue creado por Diego M. Oppenheimer con el propósito de “democratizar” el acceso a la Inteligencia Artificial. Algorithmia funciona como una especie de “supermercado” de IA en Internet. Un lugar donde los desarrolladores pueden encontrar algoritmos avanzados en forma de API. Los algoritmos son creados por científicos de datos, que pueden ofrecerlos en formato opensource, o cobrar por ellos. Algorithmia se queda con un porcentaje de las ganancias, pero también ofrece soporte gracias a un servicio en la nube. También permite escalar y poner en producción sistemas basados en IA. Estos algoritmos hacen cosas como extraer automáticamente etiquetas, resumir o detectar el “sentimiento” de un texto, comparar dos imágenes, identificar marca y modelo de un coche, o, darle color a una imagen, que es lo que vamos a probar nosotros. Figura 1: Página web de Algorithmia. Paso 1: nos registramos en Algorithmia Nos registramos desde la página web Algorithmia. Una vez creado nuestro usuario, le diremos que lo que queremos es desarrollar un modelo “Deploy a model”, y para ello buscaremos el algoritmo que nos interesa “Find an Algoritm” entre los disponibles. Como bienvenida, nos regalan crédito por 50K. Figura 2: Registro de usuario. Como bienvenida, nos regalan crédito por 50K. Figura 3: Mensaje de bienvenida y créditos de regalo. En la parte inferior derecha de la pantalla la “Default API Key” que nos han asignado. Figura 4: Clave API por defecto. También podemos encontrar esta información desplegando el menú “Profile” que aparece en la esquina superior derecha: Figura 5: Menú Perfil Usuario. Ya podemos echar un vistazo a los algoritmos principales que nos ofrecen, seleccionar los que nos interesan, o incluso crear nuestros propios algoritmos. Figura 6: Ejemplos de algoritmos disponibles. Paso 2: Instalamos el cliente de Algorithmia para Python Para instalar el cliente, usaremos el comando “pip” desde una ventana cmd. Pip es una herramienta escrita en Python creada para facilitar la descarga e instalación de paquetes del lenguaje que se encuentren en el Python Package Index (PyPI). Cuando os explicamos cómo instalar Python, elegimos la opción más sencilla, Anaconda, que no instala pip por defecto. Así que lo primero que tendremos que hacer es instalarlo mediante el comando: conda install pip Figura 7: Instalación de pip Si nos da error, lo más probable es que no tengamos agregado el PATH en las variables de entorno. Para ello, en nuestro caso, (Windows10), vamos al Panel de Control, y en las Propiedades del Sistema/Variables de entorno, agregamos como Variable de Sistema: C:\Users\XXXX\Local\Continuum\anaconda3\Scripts Figura 8: Agregamos el PATH. Ya podemos lanzar la instalación del cliente de Algorithmia con pip: Figura 9: Lanzamos la instalación del cliente con pip. Paso 3: Elegimos la imagen que queremos colorear y la subimos a Algorithmia. Para cargar la foto, vamos a la pestaña “Data” del portal de Algorithmia, y en “My hosted Data” seleccionamos la opción “Browse files” para cargar al imagen sobre la que queremos trabajar. Figura 10: Desde My Hosted Data subo la imagen que quiero colorear. Creamos una “colección”y la llamamos, por ejemplo, PruebaLUCA. Figura 11: Creamos y nombramos una colección de imágenes. Una vez creada la colección, para cargar las imágenes no tenemos más que arrastrarlas sobre “Drop files here to uptload”, Figura 12: Cargamos la imagen arrastrándola sobre el cuadro inferior. Por cierto, como acabamos de celebrar el segundo cumpleaños de LUCA, vamos a probar a darle color a la foto nos hicimos ese día el equipo de Marcomms (la primera imagen del post). Paso 4: Abrimos un Jupyter Notebook para crear un pequeño programa en Python. Usamos Jupiter Notebook por comodidad. También podríamos crear un fichero local con extensión “.py” y ejecutarlo desde línea de comandos. Si nunca has usado los Jupyter Notebooks, no es problema. En este post te explicamos de forma muy sencilla cómo hacerlo. Merece la pena dedicar un rato para aprender a usarlos. Son muy prácticos. Copia y pega las siguientes líneas de código en tu notebook. Sólo tienes que cambiar la ruta a la imagen que quieres colorear y tu Default API key. Ejecuta el código con “Run Cells” y “et voilá”. Para ver el resultado, abre, dentro de Algorithm Data, la colección temporal: “.algo/deeplearning/ColorfulImageColorization”. Ha quedado un poco “vintage” pero tampoco está mal. ¿no?. Y sobre todo, nos ha servido para comprobar cómo podemos usar algoritmos avanzados de Deep Learning en nuestra aplicaciones sin necesidad de ser expertos en DL. Los post más interesantes de LUCA Data Speaks 2018 organizados por series y temáticas Para mantenerte al día con LUCA visita nuestra página web, suscríbete a LUCA Data Speaks o síguenos en Twitter, LinkedIn y YouTube. El CDO en la empresa española: ¿Tecnología o estrategia?Ciencia Ficción en el cine vs Inteligencia artificial: nuestra charla en la Fundación Telefónica
AI of Things Digital twin: ¿qué es y para qué sirve? Una de las claves del éxito empresarial es tener la capacidad de anticipar el impacto que eventuales cambios pueden tener en un producto o servicio. Eso es, básicamente, lo...
Alberto García García-Castro Incentivos en redes blockchain empresariales: un nuevo enfoque La importancia del uso de incentivos que premien la colaboración y las buenas prácticas de los participantes en una red blockchain siempre ha sido parte fundamental de la tecnología....
Pablo Salinero Ruiz AI of Things (VIII): segmentación y analítica para mejorar la experiencia de compra El auge del comercio electrónico, con las numerosas ventajas y comodidades que ofrece a los clientes, ha hecho que las tiendas físicas hayan visto reducida de forma significativa su...
Marta Mallavibarrena Inteligencia artificial: haciendo más reales las fake news Cómo usar la inteligencia artificial para crear una noticia totalmente falsa desde cero con el mínimo esfuerzo humano posible
Telefónica Tech ¿Es hora de empezar a plantar semillas digitales para el futuro? Preparar las operaciones empresariales para el futuro del trabajo es uno de los problemas que definen nuestra época. Las organizaciones de todo el mundo se encuentran ahora en una...
Álvaro Alegria Meunier Principales retos para la adopción del metaverso En un post anterior dedicado al metaverso explicaba en qué consiste el metaverso y veíamos qué oportunidades iba a ofrecer a las empresas. Hoy quiero compartir otros retos que, en...