Usa Google Colab como un profesional: hacia la IA

Estás leyendo la publicación: Usa Google Colab como un profesional: hacia la IA

Publicado originalmente en Hacia la IA, la empresa líder mundial en noticias y medios de IA y tecnología. Si está creando un producto o servicio relacionado con la IA, lo invitamos a considerar convertirse en patrocinador de la IA. En Hacia la IA, ayudamos a escalar las empresas emergentes de IA y tecnología. Permítanos ayudarlo a dar rienda suelta a su tecnología a las masas.

15 consejos para potenciar tu productividad

Independientemente de si es un usuario gratuito, Pro o Pro+, a todos nos encanta Colab por los recursos y la facilidad para compartir que pone a nuestra disposición. Por mucho que odiemos sus restricciones, se debe elogiar a Google por democratizar el aprendizaje profundo, especialmente para los estudiantes de países que de otro modo no tendrían la oportunidad de participar en esta ‘nueva electrificación’ de industrias enteras.

¿Has pasado incontables horas trabajando en Colab pero aún no has invertido unos minutos para conocer realmente la herramienta y ser ?

“El tiempo no es reembolsable; úsalo con intención.”

1. Verifique e informe sobre su asignación de GPU

“La vida es como una caja de chocolates. Nunca sabes lo que te vas a encontrar”.
– Gump bosque

Lo siento mucho, nos quedamos sin V100, vamos a configurarlo con nuestro viejo K80 de confianza con 8 GB de RAM. ¡Puedes volver a intentarlo en una hora si te sientes afortunado! Uhm, sí Google, gracias pero no gracias.

gpu = !nvidia-smi-L
imprimir (gpu[0])
afirmar cualquier (x en gpu[0] para x en [‘P100’, ‘V100’])

Bromas aparte, estoy seguro de que se ha quemado al pasar por una larga instalación de pip, montar GDrive, descargar y preparar sus datos, solo para descubrir tres cuartas partes a través de su computadora portátil que olvidó configurar su tiempo de ejecución en ‘ GPU’? Escriba esta afirmación en la primera celda de su cuaderno; puede agradecerme más tarde.

2. No más autenticación “gdrive.mount ()”

No todos los cuadernos de Python son iguales, Colab trata a los cuadernos de Jupyter como ciudadanos de segunda clase. Cuando cargue su Jupyter Notebook a GDrive, verá que aparece como un ícono azul/carpeta. Cuando crea un nuevo cuaderno de Colab desde cero en GDrive (+Botón Nuevo ➤ Más ➤ Google Colaboratory), aparecerá como un archivo .

Este portátil ‘nativo’ de Colab tiene poderes especiales, es decir, Google puede montar su GDrive en la máquina virtual de Colab tan pronto como abra el portátil. Si abre un cuaderno Jupyter y hace clic en el ícono Archivos (barra lateral izquierda) y luego en el ícono Montar unidad (fila superior del panel emergente), Colab insertará la siguiente celda nueva en su cuaderno Jupyter:

desde la unidad de importación de google.colab
unidad.mount(‘/contenido/unidad’)

Y cuando ejecute esa celda, aparecerá una nueva pestaña del navegador y tendrá que pasar por ese molesto i. Seleccione su Cuenta, ii. Permitir y iii. Copiar y pegar iv. Cambiar y cerrar pestañas, galimatías.

Si tiene un cuaderno Jupyter que abre con frecuencia y necesita acceso a GDrive, invierta treinta segundos y ahórrese esa molestia constante. Simplemente cree un nuevo cuaderno Colab (nativo) (como se describe anteriormente), luego abra su cuaderno Jupyter existente, en otra pestaña del navegador. Haga clic en: Editar ➤ Borrar todas las salidas. Luego, asegurándose de estar en el modo Comando, presione + + A, luego + C. Vaya a su nuevo cuaderno de Colab y presione + V. Monte su GDrive utilizando el método de icono de Mount Drive y elimine el antiguo cuaderno Jupyter para evitar confusiones.

🔥 Recomendado:  Portero vs. bola de nieve vs. Lancaster – Hacia la IA

3. La forma más rápida de copiar sus datos a Colab

Una forma es copiarlo desde Google Cloud Storage. Tienes que registrarte para obtener una cuenta de Google Cloud Platform, pero Google ofrece una Nivel gratuitolo que le otorga 5 GB, siempre y cuando seleccione US-WEST1, US-CENTRAL1 o US-EAST1 como su región.

Además de la seguridad, otro beneficio de usar cubos de Google Storage es si estás usando Conjuntos de datos de TensorFlow para tus propios datos (si no lo eres, realmente… escribiré un artículo sobre por qué Seguir para recibir una notificación), puede omitir la copia y cargar sus conjuntos de datos directamente usando tfds.load():

Otra forma es usar la maravillosa utilidad gdown. Tenga en cuenta que a partir de este escrito (marzo de 2022), a pesar de que gdown está preinstalado en las instancias de Colab, debe instalar el paquete para que funcione. Deberá tener la identificación del archivo, que puede obtener haciendo clic con el botón derecho en el archivo en Drive ➤ Obtener enlace ➤ Cualquiera con enlace, y luego extraer la identificación (que se muestra en negrita a continuación) de la URL provista:

https://drive.google.com/file/d/1sk…IzO/ver?usp=compartir

NOTA: Dado que con el enlace puede acceder a su archivo con este permiso para compartir archivos, use este método solo para su !

4. Omita “pip install…” en los reinicios de Runtime (Kernel)

Si es como yo y siempre está reiniciando y volviendo a ejecutar el kernel de python, generalmente porque tiene un código no idempotente como dataset = dataset.map().batch(), ahorre preciosos segundos y mantenga sus cuadernos legibles y conciso al no invocar pip install cada vez que reinicia el tiempo de ejecución, creando un archivo ficticio y probando su presencia:

![ ! -f “pip_installed” ] && pip -q install tensorflow-datasets==4.4.0 tensorflow-addons && touch pip_installed

De hecho, use esta misma técnica para evitar copiar y descargar esos archivos de datos grandes cada vez que vuelva a ejecutar su computadora portátil:

![ ! -d “my_data” ] && descomprima /content/drive/MyDrive/my_data.zip -d my_data

5. Importe sus propios módulos/paquetes de Python

Si se encuentra constantemente usando un helper.py, o su propio paquete privado de Python, por ejemplo, para mostrar una cuadrícula de imágenes o trazar sus pérdidas/métricas de entrenamiento, colóquelas todas en su GDrive en una carpeta llamada /packages y luego:

sistema de importación
sys.path.append(‘/contenido/unidad/MyDrive/paquetes/’)
de la importación auxiliar *

6. Copie archivos a Google Storage Bucket

Si está entrenando en las TPU de Google, sus datos deben almacenarse en un Google Cloud Storage Bucket. Puede usar la utilidad gsutil preinstalada para transferir archivos desde la unidad local de la VM de Colab a su depósito de almacenamiento si necesita ejecutar algún procesamiento previo en los datos antes de iniciar cada ejecución de entrenamiento de TPU.

!gsutil -m cp -r /root/tensorflow_datasets/my_ds/ gs://my-bucket/

7. Asegúrese de que todos los archivos se hayan copiado completamente en GDrive

Como estoy seguro de que sabe muy bien, Google puede y cancelará su sesión debido a la inactividad. Hay buenas razones para no almacenar (enormes) puntos de control del modelo durante el entrenamiento del modelo en su GDrive montado. Por ejemplo, para no exceder los límites de E/S de Colab, o si se está quedando sin cuota de almacenamiento de GDrive y necesita hacer uso del amplio almacenamiento en disco local en su instancia de Colab, etc. Para asegurarse de que su modelo y datos finales sean transferido completamente a GDrive si está paranoico, llame a drive.flush_and_unmount() al final de su computadora portátil:

🔥 Recomendado:  ¿Es legítima la casa de JJ? (Esto es lo que necesita saber)

from google.colab import drive model.fit(…) # Voy a tomar una siesta ahora,
modelo.guardar(‘/contenido/unidad/MiDrive/…’)
unidad.vaciar_y_desmontar()

Tenga en cuenta que la finalización de la copia/escritura de archivos en /content/drive/MyDrive/ no significa que todos los archivos estén seguros en GDrive y que pueda finalizar inmediatamente su instancia de Colab porque la transferencia de datos entre la VM y la infraestructura de Google ocurre de forma asíncrona. por lo tanto, realizar este lavado ayudará a garantizar que sea realmente seguro desconectarlo.

8. Abra rápidamente su Jupyter Notebook local

No es necesario copiarlo en GDrive y luego hacer doble clic en él. Simplemente ve a https://colab.research.google.com/ y luego haga clic en la pestaña Cargar. Su cuaderno cargado residirá en GDrive://Colab Notebooks/ .

9. Usa comandos de Shell con variables de Python

OUT_DIR = ‘./modelos_ckpt/’

modelo.guardar(OUT_DIR + ‘modelo1’)

modelo.guardar(OUT_DIR + ‘modelo2’)

!rm -rf {OUT_DIR}*

Haga uso de los poderosos comandos de Linux disponibles para usted… ¿por qué molestarse en importar el archivo zip y las bibliotecas de solicitudes y todo ese código auxiliar? De hecho, obtenga lo mejor de ambos mundos canalizando la salida de un comando de Linux a una variable de Python:

wget -O datos.zip https://github.com/ixig/archive/data_042020.zip
descomprimir -q datos.zip -d ./tmp
# ‘wc’: práctica utilidad de recuento de palabras y líneas de Linux
resultado = !wc ./tmp/tweets.txt
líneas, palabras, *_ = resultado[0].dividir()

10. ¿Estoy ejecutando en Colab o Jupyter?

Si cambia entre ejecutar sus cuadernos en su máquina local y entrenar en Colab, necesita una forma de saber dónde se está ejecutando ese cuaderno, por ejemplo, no instale pip cuando se ejecuta en su máquina local. Puedes hacer esto usando:

COLAB = ‘google.colab’ en str(get_ipython())
si COLAB:
!pip instalar…

11. ¡Envíame un mensaje, bebé!

No es necesario que se quede sentado esperando que se complete su capacitación, ¡haga que Colab le envíe una notificación a su teléfono! En primer lugar, deberá seguir las instrucciones para permitir llámamebot para enviarle un mensaje en su aplicación Signal/FB/WhatsApp/Telegram. Toma todo un minuto: registro muy simple, rápido y seguro. Entonces tú puedes:

solicitudes de importación
de urllib.parse import quote_plus number = ‘…’
clave_api = ‘…’
mensaje = quote_plus(‘¡Listo bebé!’)
solicitudes.get(f’https://api.callmebot.com/signal/send.php?phone={número}&apikey={api_key}&text={mensaje}’)

12. Usa la magia de las celdas de IPython

De acuerdo, este no es específico para los portátiles Colab, ya que también se aplica a los portátiles Jupyter, pero estos son los más útiles que debe conocer.

%%capture: silencia las numerosas y molestas salidas de la ejecución de sentencias en una celda. Útil para esas ”, ” e innumerables advertencias de obsolescencia de TensorFlow.

%%writefile : escribe el texto contenido en el resto de la celda en un archivo. Útil para crear un archivo YAML, JSON o de texto simple sobre la marcha para realizar pruebas.

%tensorflow_version 1.x : si todavía está atascado en el pasado (sin juzgar … bueno, ¡tal vez solo un poco!), No ”, creará un lío de dependencias, use esta línea mágica en su lugar, antes importando TensorFlow.

🔥 Recomendado:  ¿Cómo asegurar 5 veces más ingresos publicitarios en 2023?

13. Acople la terminal

Si es usuario de Pro/Pro+, tiene acceso a la VM a través de la Terminal. Puede hacer algunas cosas súper poderosas como ejecutar su propio servidor jupyter en él (para que pueda recuperar la interfaz de usuario familiar de Jupyter Notebook si esa es su preferencia). También para disputar archivos, la terminal es invaluable.

Cuando hace clic en el ícono de Terminal en la barra lateral izquierda, el panel de Terminal aparece a la derecha de la página, pero es realmente difícil de usar debido a lo estrecho que es y al tener que cerrarlo constantemente para que pueda ver su código. Solución: Acople la Terminal como una pestaña separada. Después de abrir la Terminal, haga clic en los puntos suspensivos (…) ➤ Cambiar diseño de página ➤ Vista de una sola pestaña.

14. Cambia esos accesos directos

¿Quién puede recordar los oscuros atajos que asigna Google? Vaya a Herramientas ➤ Métodos abreviados de teclado y asegúrese de asignar los siguientes métodos abreviados a su cuenta combinaciones:

  • Reinicie el tiempo de ejecución y ejecute todas las celdas en el cuaderno
  • Reiniciar tiempo de ejecución
  • Ejecutar celdas antes de la actual
  • Ejecutar celda seleccionada y todas las celdas posteriores

Lo bueno es que Colab recuerda sus cambios (asegúrese de hacer clic en el botón Guardar en la parte inferior de la ventana emergente), por lo que solo necesita hacer esto una vez.

15. Integración de GitHub

Puede iniciar cualquier cuaderno alojado en GitHub directamente en Colab usando la siguiente URL:

https://colab.research.google.com/github///…/

O simplemente puede marcar su organización/repositorio favorito con la siguiente URL y un explorador de archivos le indicará cada vez que haga clic en el marcador:

https://colab.research.google.com/github//


Use Google Colab Like A Pro se publicó originalmente en Towards AI en Medium, donde las personas continúan la conversación resaltando y respondiendo a esta historia.

Publicado a través de Hacia la IA