//
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

Avelino Dominguez

馃懆馃徎鈥嶐煍 Biologist 馃懆馃徎鈥嶐煄 Teacher 馃懆馃徎鈥嶐煉 Technologist 馃搳 Statistician 馃暩 #SEO #SocialNetwork #Web #Data 鈾烠hess 馃悪 Galician

Leave a Reply

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

Previous Story

How to create a logo for your brand using artificial intelligence

Next Story

Google Colab: working machine learning in the cloud with Python

%d bloggers like this: