April 14, 2022
4 mins read

Google Colab: trabajando machine learning en la nube utilizando Python

robot pointing on a wall
Photo by Tara Winstead on Pexels.com

Google Colab es una herramienta de Google que permite crear un documento ejecutable en varios lenguajes de programación. Este documento permite escribir, ejecutar y compartir código (de ahí lo de colab o colaborativo). Parte del llamado proyecto Jupyter que se encuentra disponible en Google Drive. Un documento notebook se compone de celdas, cada una de las cuales puede contener código, texto, imágenes y demás. Podíamos hacer el símil que es como un documento de texto que contiene cajas en su interior que permiten ejecutar código.

Colab conecta tu notebook a un ambiente runtime que permite carga todas las aplicaciones de un programa y las ejecuta en una plataforma basada en la nube, lo cual significa que puedes ejecutar código Python sin necesidad de instalación previa en tu dispositivo. Python se encuentra instalado en el entorno de ejecución alojado en la nube que automáticamente se conecta tu sesión abierta en Google colab.

Introducción

Colab, o “Colaboratory”, te permite escribir y ejecutar código de Python en tu navegador, sin configuración requerida, con acceso gratuito a una GPU (Graphics Processing Unit) y facilidad para compartir. Seas estudiante, científico de datos o investigador de IA, Colab facilita tu trabajo. Este video introductorio sobre Colab te va a permitir comenzar a usarlo desde 0.

Biblioteca integrada

Podemos buscar en la biblioteca integrada de Colab fragmentos de código y código de inserción para crear una visualización interactiva de los datos. Esta visualización se crea con Altair, una de las varias bibliotecas de visualización apoyada por Colab. Altair es una biblioteca de visualización estadística declarativa para Python. Altair ofrece una gramática de visualización poderosa y concisa para construir rápidamente una amplia gama de gráficos estadísticos.

Por declarativo, se refiere a que puede proporcionar una especificación de alto nivel de lo que desea que incluya la visualización, en términos de datos, marcas gráficas y canales de codificación, en lugar de tener que especificar cómo implementar la visualización en términos de for- bucles, comandos de dibujo de bajo nivel, etc. La idea clave es declarar vínculos entre los campos de datos y los canales de codificación visual, como el eje x, el eje y, el color, etc. El resto de los detalles del gráfico se manejan automáticamente. Sobre la base de esta idea de trazado declarativo, se puede crear una sorprendente gama de visualizaciones simples a sofisticadas utilizando una gramática concisa.

Ejemplo de código cuyo resultado puede verse en la Fig. 1:

import altair as alt
from vega_datasets import data

source = data.disasters.url

alt.Chart(source).mark_circle(
    opacity=0.8,
    stroke='black',
    strokeWidth=1
).encode(
    alt.X('Year:O', axis=alt.Axis(labelAngle=0)),
    alt.Y('Entity:N'),
    alt.Size('Deaths:Q',
        scale=alt.Scale(range=[0, 4000]),
        legend=alt.Legend(title='Annual Global Deaths')
    ),
    alt.Color('Entity:N', legend=None)
).properties(
    width=450,
    height=320
).transform_filter(
    alt.datum.Entity != 'All natural disasters'
)
Google Colab
Figura 1 Muertes anuales globales por desastres naturales

Compartir notebooks de Colab

Los notebooks se comparten como un documento de Google y es bastante útil utilizar celdas de texto que expliquen lo que se está realizando. Es muy similar a Markdown, que como su nombre indica se trata de un lenguaje de marcado ligero creado que trata de conseguir la máxima legibilidad y facilidad de publicación tanto en su forma de entrada como de salida, inspirándose en muchas convenciones existentes para marcar mensajes de correo electrónico usando texto plano.

Las celdas de texto están formateadas con Markdown. El formato Markdown es simple y potente, permitiéndote agregar títulos (encabezados), párrafos, listas, e incluso fórmulas matemáticas. Los títulos son muy útiles porque dividen el documento en partes y puedes crear índices con distintos niveles como se muestra en la Fig. 2.

Google Colab
Figura 2. Índice en Google Colab

Para compartir tus notebooks con otras personas puedes hacerlo a través de Google Drive o incluso exportando tu notebook a GitHub. El notebook se almacena en el formato de Jupyter notebook. Los notebooks que creas se pueden ver y ejecutar en Jupyter Notebook, JupyterLab, y otros sistemas compatibles.

Proyecto Seedbank

Una colección útil es el proyecto Seedbank en research.google.com/seedbank. Por ejemplo, la semilla Neural Style Transfer muestra cómo usar el aprendizaje profundo para transferir estilos entre las imágenes y está conectado a un notebook de Colab donde puedes ejecutar y cambiar el código. Puedes ver una copia en https://colab.research.google.com/drive/1TcSQgGllR0YWjKOKMsmgzlT_Y1phC4l1?usp=sharing.

Se trata de un tutorial que mediante aprendizaje profundo se crean imágenes con el estilo de otra imagen. ¡Esto se conoce como transferencia de estilo neuronal! Esta es una técnica descrita en el artículo de Leon A. Gatys, A Neural Algorithm of Artistic Style, que es muy interesante de leer y seguro te da muchas ideas. El resultado puede verse en la siguiente figura donde se muestra el antes y el después.

Conexión de Google Colab con Google Drive

Desde Google Colab puede guardar una copia en tu Google Drive. Se va a situar en la carpeta Colab Notebooks. Esta copia va a permitir que ejecutes un notebook y los cambios se guarden en Google Drive. Además, una vez abierto un notebook puedes descargarlo para trabajar en otros entornos de escritorio de Python o R, puesto que tienes la opción de descargar el fichero .py o .ipynb.

Google Colab para R

Dentro de Google Colab puedes trabajar en R, un lenguaje de programación orientado a la estadística. Para usar el notebook directamente con R tienes que:

  1. Abrir un navegador.
  2. Ir a esta dirección: https://colab.research.google.com/#create=true&language=r, o utilizar esta URL acortada https://colab.to/r

Tras acceder a la URL, se creará un nuevo cuaderno que tendrá de nombre Untitled.ipynb. En principio, no hay diferencia entre notebooks con Python o R. Sin embargo, en la configuración del Notebook puedes comprobar que el entorno es R.

Ejemplos sobre Machine Learning en Google Colab

A continuación, comparto varios documentos realizados en Google Colab de Machine Learning que seguro te resultarán interesantes.

Referencias

User Avatar

Avelino Dominguez

👨🏻‍🔬 Biologist 👨🏻‍🎓 Teacher 👨🏻‍💻 Technologist 📊 Statistician 🕸 #SEO #SocialNetwork #Web #Data ♟Chess 🐙 Galician

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

logo marca brand
Previous Story

How to create a logo for your brand using artificial intelligence

colorful toothed wheels
Next Story

Google Colab: working machine learning in the cloud with Python

Top

Don't Miss

números primo primo

Verificar si un número es primo o no utilizando Python

Este artículo explica cómo saber si
prime numbers

Check if a number is prime or not using Python

This article explains how to tell