Google Colab

Recursos de ayuda

  • Google Colab. Link
  • Google Colab Tutorial. Link

¿Qué es Google Colab?

Google Colaboratory (Colab) es un entorno de notebook Jupyter alojado que no requiere configuración y se ejecuta completamente en la nube. Con Colab puedes escribir y ejecutar código Python en tu navegador.

Características principales

  • Acceso gratuito a GPUs y TPUs
  • Fácil compartir notebooks
  • Integración con Google Drive
  • Instalación de paquetes Python
  • Colaboración en tiempo real

Comandos básicos

Instalar paquetes

!pip install nombre_paquete

Montar Google Drive

from google.colab import drive
drive.mount('/content/drive')

Subir archivos

from google.colab import files
uploaded = files.upload()

Descargar archivos

from google.colab import files
files.download('archivo.csv')

Atajos de teclado

  • Ctrl + M B - Insertar celda debajo
  • Ctrl + M A - Insertar celda arriba
  • Ctrl + M D - Eliminar celda
  • Ctrl + Enter - Ejecutar celda
  • Shift + Enter - Ejecutar celda y avanzar

Nivel intermedio

Trabajar con GPUs y TPUs

Activar GPU

# Verificar si GPU está disponible
import tensorflow as tf
print("GPU disponible:", tf.test.gpu_device_name())

# Con PyTorch
import torch
print("GPU disponible:", torch.cuda.is_available())
print("GPU nombre:", torch.cuda.get_device_name(0) if torch.cuda.is_available() else "No GPU")

Para activar GPU: Runtime → Change runtime type → GPU

Activar TPU

# Verificar TPU
import tensorflow as tf
try:
    tpu = tf.distribute.cluster_resolver.TPUClusterResolver()
    print('TPU disponible en:', tpu.cluster_spec().as_dict()['worker'])
except ValueError:
    print('TPU no disponible')

Gestión de datos

Leer archivos desde Google Drive

import pandas as pd

# Después de montar Drive
df = pd.read_csv('/content/drive/MyDrive/datos/archivo.csv')

Descargar datos desde URL

!wget https://url-del-archivo.com/datos.zip
!unzip datos.zip

Trabajar con Google Sheets

from google.colab import auth
from google.auth import default
import gspread

auth.authenticate_user()
creds, _ = default()

gc = gspread.authorize(creds)
worksheet = gc.open('Nombre_Hoja').sheet1
data = worksheet.get_all_values()

Optimización y trucos avanzados

Evitar desconexión automática

%%javascript
function ClickConnect(){
  console.log("Evitando desconexión");
  document.querySelector("colab-toolbar-button#connect").click()
}
setInterval(ClickConnect, 60000)

Usar variables de entorno

import os
from google.colab import userdata

# Guardar secretos en Colab
api_key = userdata.get('API_KEY')

Ejecutar comandos bash largos

%%bash
echo "Iniciando proceso largo..."
python script_largo.py > output.log 2>&1 &
echo "Proceso iniciado en background"

Visualización avanzada

Gráficos interactivos con Plotly

!pip install plotly

import plotly.express as px
import pandas as pd

df = px.data.iris()
fig = px.scatter(df, x="sepal_width", y="sepal_length", color="species")
fig.show()

Widgets interactivos

from ipywidgets import interact
import numpy as np
import matplotlib.pyplot as plt

@interact(freq=(1, 10, 0.5))
def plot_wave(freq=5):
    x = np.linspace(0, 2*np.pi, 100)
    plt.plot(x, np.sin(freq * x))
    plt.show()

Integración con GitHub

Clonar repositorio

!git clone https://github.com/usuario/repositorio.git
%cd repositorio

Configurar Git

!git config --global user.email "tu@email.com"
!git config --global user.name "Tu Nombre"

Hacer commit y push

!git add .
!git commit -m "Actualización desde Colab"
!git push origin main

Manejo de memoria

Verificar uso de RAM

!cat /proc/meminfo | grep MemTotal
!cat /proc/meminfo | grep MemAvailable

Liberar memoria

import gc
gc.collect()

# Borrar variables específicas
del variable_grande
gc.collect()

Videos tutoriales recomendados

Nivel básico

  • Google Colab Tutorial for Beginners - freeCodeCamp.org Link
  • Complete Google Colab Tutorial - Coding Professor Link

Nivel intermedio

  • Google Colab GPU Tutorial - Aladdin Persson Link
  • Master Google Colab in 20 Minutes - Nicholas Renotte Link
  • Google Colab Pro Tips and Tricks - Abhishek Thakur Link

Machine Learning con Colab

  • Deep Learning with Google Colab - Python Simplified Link
  • Training Neural Networks on Google Colab - Sentdex Link

Proyectos destacados en GitHub

Colecciones de notebooks

  • google/colaboratory - Notebooks oficiales de ejemplo Link
  • Awesome Colab Notebooks - Colección curada de notebooks Link

Proyectos de Machine Learning

  • PyTorch Lightning Colab - Ejemplos de Deep Learning Link
  • TensorFlow Examples - Tutoriales oficiales de TensorFlow Link

Herramientas y utilidades

  • ColabCode - Ejecutar VS Code en Colab Link
  • Google Drive Downloader - Descargar archivos grandes desde Drive Link
  • Colab-SSH - Conectar a Colab vía SSH Link

Proyectos de visión por computadora

  • YOLOv5 - Detección de objetos en tiempo real Link
  • Detectron2 - Framework de detección de objetos de Facebook Link

Procesamiento de lenguaje natural

  • Hugging Face Transformers - Modelos de NLP pre-entrenados Link
  • spaCy - Procesamiento de lenguaje natural industrial Link

Recursos útiles adicionales

  • Seedbank de Colab - Colección de notebooks ML Link
  • Colab FAQ - Preguntas frecuentes oficiales Link
  • Awesome Colab - Lista curada de recursos Link
  • Colab Research - Blog oficial de Google Research Link