¿Qué puedo hacer en google colab?
<a href='https://www.freepik.es/vectores/negocios'>Vector de Negocios creado por vectorjuice - www.freepik.es</a>

¿Qué puedo hacer en google colab?

Muchos de los que nos iniciamos en el mundo del análisis de datos, hemos escuchado o usado alguna vez el entorno que nos ofrecen los jupyter notebooks, que son cuadernos interactivos que nos permiten experimentar y prototipar el análisis que hacemos con nuestro código.

En el presente artículo vas a tener una breve introducción a los siguientes conceptos:

  1. ¿Qué es el REPL?
  2. ¿Qué es un cuaderno de jupyter?
  3. ¿Qué es y que puedes hacer en google colab?

Programación experimental - REPL

El paradigma bajo el cuál se mueve la programación en cuadernos de jupyter, es el bucle de Lectura-Evaluación-Impresión, mejor conocido como REPL por sus siglas en ingles. Este es un sistema de programación interactiva, normalmente utilizado para procesos de prototipado y experimentación, donde el usuario puede ingresar una linea de código y ejecutarla al instante para ver el resultado, evaluar si es el resultado esperado, y en caso contrario poder modificar la linea de código y ver al instante el nuevo resultado.

El sistema de jupyter notebooks esta potenciado por ipython, que es un shell interactivo que añade funcionalidades extra al modo interactivo incluido con Python, como resaltado de líneas y errores mediante colores, una sintaxis adicional para el shell, autocompletado mediante tabulador de variables, módulos y atributos; entre otras funcionalidades. Es un componente del paquete SciPy.

La programación experimental nos permite poder explorar el problema y las soluciones al mismo tiempo, de una manera en la que podemos ir iterando y modificando los errores al instante, pues no debemos esperar a que se compile como en otros lenguajes de programación, o utilizar otras herramientas como cuando programamos en python desde un IDE, donde debemos abrir la linea de comandos para ejecutar nuestro código.

Jupyter notebook

El nombre del proyecto Jupyter es una referencia a los tres lenguajes de programación principales soportados por Jupyter, que son JuliaPython y R, y también un homenaje a los cuadernos de Galileo que registran el descubrimiento de los satélites de Júpiter.

Según la descripción de la documentación oficial, jupyter notebook extiende el acercamiento basado en consola de la computación interactiva en una nueva dirección, generando una aplicación basada en la web que captura todo el proceso computacional: desarrollar, documentar, y ejecutar código, así como exponer los resultados.

Los cuadernos de jupyter combinan dos componentes:

Una aplicación web: Una herramienta basada en el navegador para la realización interactiva de documentos que combinan texto plano, matemáticas, computación y elementos multimedia como resultado final.

Cuadernos como archivos: Una representación de todo el contenido visible en la aplicación web, incluyendo entradas y salidas de los procesos computacionales, texto plano, matematicas, imagenes, y elementos multimedia.


Google colab

Colaboratory, también llamado Colab, permite escribir y ejecutar código de Python en un navegador a través de cuadernos de jupyter notebooks, con las siguientes particularidades:

- Sin configuración requerida

- Acceso gratuito a GPU

- Facilidad para compartir

Un archivo de google colab se almacena en drive de la misma manera que los hacen los archivos de google sheets o google docs, y también tiene la funcionalidad que nos permite definir si alguien más puede ver, comentar o editar nuestro archivo.

En colab podemos realizar las mismas tareas que realizamos en nuestros cuadernos de jupyter, en las que se incluyen:

  1. Escribir y ejecutar celdas de código: En colab puedes escribir código de python y ejecutarlo al instante, sin necesidad de abrir la consola.
  2. Escribir texto a través de markdown: Puedes ir documentando tu código con funciones especiales de markdown como la negrilla, el espaciado, la sangría, la cursiva, los encabezados e incluso introducir html o latex.
  3. Subir imagenes o gifs: Para transmitir mejor tus ideas, puedes agregar material multimedia al archivo de código que estas creando.
  4. Ejecutar comandos: Podemos utilizar comandos de la linea de comandos en la misma herramienta, donde se nos permite cambiar de directorio, crear carpetas, crear archivos, listar nuestros archivos, etc.
  5. Instalar librerías: A través de los comandos de nuestro paquete de instalación de pip, podemos instalar librerias extras de python que no se encuentren ya instaladas en nuestro entorno de colab.
  6. Reproducir gráficos: Haciendo uso de las librerías de python, podemos programar y representar nuestros gráficos en el mismo archivo.
  7. Subir archivos: En colab podemos subir archivos en los que hemos venido trabajando en nuestro entorno local.
  8. Mejorar recursos computacionales: Al ser en la nube, google nos da algunas opciones pagas que nos permiten mejorar el poder de computo del entorno en el que estamos ejecutando nuestro archivo.

Los beneficios de la programación experimental que nos dan los entornos interactivos son cada vez mas notorios para todos los que empezamos a explorar en este mundo intrigante de los datos. Colab nos ofrece la posibilidad de combinar estos beneficios con el trabajo en equipo, una invitación a que exploremos en esta maravillosa herramienta.

Para terminar, ten en cuenta que en este artículo pudiste familiarizarte con los siguientes conceptos:

  1. El ciclo de lectura-evaluación-impresión (repl)
  2. Qué son y para que sirven los cuadernos de jupyter
  3. Las acciones que puedes llevar a cabo en un cuaderno de jupyter y google colab


Esteban Acevedo

Python Developer: Django, Htmx | Editor de contenidos | Profesor de cursos de programación

2 años

Genial!

Jhon Galeano

BI Analyst | Data Analyst | Python | Inteligencia Artificial

3 años

Gracias por compartir tu articulo, nos ayuda a generar una mejor apropiación de los conceptos, excelente ! 🙂 bendiciones!

Julian Henao Henao

Desarrollador Frontend | Estudiante de Maestría en Filosofía Univalle

3 años

Juan Diego Ramirez Zuluaga, muy buena introducción a estos conceptos y herramientas tan poderosas y asequibles. No vendría mal un videotutorial para sumarlo a este articulo.

Inicia sesión para ver o añadir un comentario.

Otros usuarios han visto

Ver temas