Hola, me llamo Luis y esta vez les traigo este nuevo post.
Índice
Es decir, cómo sacarle el máximo partido a la plataforma y hackearla.
Google Colab (abreviatura de Colaboratory
) es una plataforma en línea para ciencia de datos alojada por Google. Consiste en un cuaderno en línea que se ejecuta en la nube, sin utilizar recursos en su máquina local.
No es necesario instalar paquetes ni utilizar entornos virtuales. Le brinda portabilidad sin esfuerzo, lo cual es una gran ventaja si tiene que cambiar de computadora con mucha frecuencia (por ejemplo, hogar y oficina).
Le permite migrar sus pesados cálculos a la nube y salvar su pobre portátil de un colapso. Finalmente, puede evitar descargar grandes conjuntos de datos localmente.
Sin embargo, este entorno lo limita a un entorno de un solo portátil, con todos los problemas (como se explica aquí) que derivan. Durante mi tiempo con Colab, he recopilado algunos trucos que uso a diario y me ayudan a aprovechar al máximo la plataforma.
Puede encontrarlos esparcidos por Internet, pero este es, que yo sepa, el primer intento de incluirlos en un artículo.
Consejo 1: Importar Google Drive
Google le permite leer y escribir archivos en GDrive
desde Colab. Como se explica en el documentos oficiales, debe ejecutar la siguiente celda:
from google.colab import drive drive.mount('/content/drive')
Aparecerá un enlace único en la celda de salida. Haga clic en él y será redirigido a una interfaz que le permite otorgar accesos temporales de Drive a su computadora portátil. Copie el código al final del procedimiento y péguelo en el cuaderno.
Como veremos, Drive se puede usar para alojar archivos, conjuntos de datos y módulos que contienen código que desea reutilizar, por lo que puede convertirse en una excelente herramienta para su trabajo diario.
Sin embargo, la E / S
de archivos de Drive es tremendamente lenta, especialmente cuando intenta acceder a numerosos archivos pequeños, lo que sugiere que la interfaz entre los dos tiene una gran sobrecarga en el acceso a los archivos.
Esto significa que no desea alojar su gran conjunto de datos en la unidad, incluso si tiene suficiente espacio para dejarlos allí.
¿Qué puedes hacer tú en su lugar? Hay tres soluciones.
- Todavía los aloja en GDrive, pero comprimidos. Acceder a un solo archivo tendrá menos sobrecarga y la compresión reducirá el tamaño del archivo. Luego puede descomprimirlo desde la línea de comando.
- Si está utilizando un conjunto de datos popular, como MNIST, muchos paquetes de Python pueden descargarlo y leerlo por usted
- Descárgalo directamente desde la línea de comando
Si está disponible, la segunda opción es la más conveniente. Sin embargo, muchos conjuntos de datos no vienen incluidos dentro de los paquetes de Python, por lo que necesitaremos explorar la tercera solución.
Consejo 2: descarga de archivos del portátil
Los cuadernos de Jupyter le permiten ejecutar un comando de shell usando anteponiendo un signo de exclamación !
antes de la línea. Por ejemplo, si desea ver el contenido del directorio de trabajo actual, simplemente puede escribir !ls
.
Esto le da la oportunidad de usar curl
para descargar archivos desde la línea de comando:
!curl -O http://your.link/here
Esta línea de código guardará los datos en su directorio de trabajo actual (/content
por defecto en Colab). Las velocidades de las redes de las computadoras en las que se ejecutan sus kernels son muy altas, por lo que incluso los grandes conjuntos de datos se descargarán en unos pocos segundos.
Ahora que tiene los materiales primarios en su cuaderno, es probable que deba descomprimirlos antes de poder usarlos. Existe una variedad de formatos de archivo y para cada uno de ellos hay un comando apropiado que puede usar para descomprimir el archivo.
Por ejemplo. si el conjunto de datos está comprimido, puede escribir:
!unzip -q -d destination_path archive_to_unzip.zip
Consejo 3: Importación de módulos desde Drive
Si tiene algunos módulos personalizados que desea usar en su computadora portátil, puede cargarlos en Drive e importarlos más tarde. Veamos cómo.
Antes de que pueda importarlos, debe decirle a Python que debe buscar. Primero, crea una carpeta con el Project
donde pondremos nuestros archivos .py
. Entonces necesitas ejecutar:
import sys sys.path.insert(0, '/content/drive/My Drive/Project')
Después de ejecutar la celda anterior, sus módulos se importarán sin errores:
import foo import bar
¿Por qué es esto necesario? Cuando escribes import foo
, Python busca un módulo llamado foo
en una lista predefinida de ubicaciones llamada sys.path
.
Al insertar la ubicación de nuestros módulos como primera entrada, nos aseguramos de que foo
y bar
será encontrado.
Abusar de este truco en su computadora personal o en un servidor de producción probablemente dará lugar a una ruta de importación desordenada y consecuencias impredecibles si tiene diferentes módulos con el mismo nombre.
Sin embargo, en el caso del entorno experimental y temporal del portátil, esto puede ser aceptable.
Si desea más información, eche un vistazo a Learning Python, 5th Edition by Mark Lutz, capítulo 22, sección The Module Search Path.
¿Y si esto no es suficiente?
Colab no ofrece ninguna garantía sobre la consistencia o disponibilidad del servicio. Además, si ejecuta un kernel durante demasiadas horas consecutivas, será eliminado. Por lo tanto, esta plataforma no está diseñada para uso profesional o intensivo.
Si necesita más potencia o si desea conectar un almacenamiento permanente a su máquina en la nube, será mejor que consulte las opciones disponibles en Google Cloud, AWS o Microsoft Azure.
Estos trucos le permiten aprovechar al máximo la plataforma y superar algunas de las limitaciones de un entorno de notebook en línea.
Si conoce otros trucos que no mencioné, no dude en compartirlos en los comentarios.
Añadir comentario