Skip to main content

Introducción a GitHub Codespaces para el aprendizaje automático

Obtén información sobre cómo trabajar en proyectos de aprendizaje automático con GitHub Codespaces y sus herramientas de fábrica.

Introducción

En esta guía se presenta el aprendizaje automático con GitHub Codespaces. Crearás un clasificador de imágenes sencillo, conocerás algunas de las herramientas que vienen preinstaladas en GitHub Codespaces y verás cómo abrir un codespace en JupyterLab.

Creación de un clasificador de imágenes simple

Usaremos un cuaderno de Jupyter Notebook para crear un clasificador de imágenes simple.

Los cuadernos de Jupyter son conjuntos de celdas que se pueden ejecutar una después de otra. El cuaderno que usaremos incluye una serie de celdas que crean un clasificador de imágenes mediante PyTorch. Cada celda es una fase diferente de ese proceso: descarga un conjunto de datos, configura una red neuronal, entrena un modelo y, a continuación, prueba ese modelo.

Ejecutaremos todas las celdas, en secuencia, para realizar todas las fases de creación del clasificador de imágenes. Cuando hacemos esto, Jupyter vuelve a guardar la salida en el cuaderno para que pueda examinar los resultados.

Crear un espacio de código

  1. Vaya al repositorio de plantillas github/codespaces-jupyter.

  2. Haz clic en Usar esta plantilla y luego en Abrir en un codespace.

    Captura de pantalla del botón "Usar esta plantilla" y el menú desplegable expandido para mostrar la opción "Abrir en un codespace".

Se abre un codespace para esta plantilla en una versión basada en web de Visual Studio Code.

Apertura del cuaderno clasificador de imágenes

La imagen de contenedor predeterminada que utiliza GitHub Codespaces incluye un conjunto de bibliotecas de aprendizaje automático preinstaladas en tu espacio de código. Por ejemplo, Numpy, Pandas, SciPy, Matplotlib, seaborn, scikit-learn, Keras, PyTorch, Requests y Plotly. Para obtener más información sobre la imagen predeterminada, consulta AUTOTITLE y el repositorio devcontainers/images.

  1. En el editor de VS Code, cierra las pestañas "Introducción" que se muestran.
  2. Apertura del archivo del cuaderno .

Creación de un clasificador de imágenes

El cuaderno clasificador de imágenes contiene todo el código que necesitas para descargar un conjunto de datos, entrenar una red neuronal y evaluar su rendimiento.

  1. Haz clic en Ejecutar todo para ejecutar todas las celdas del cuaderno.

    Captura de pantalla de la parte superior de la pestaña del editor del archivo "image-classifier.ipynb". Un cursor se mueve sobre un botón etiquetado como "Ejecutar todo".

  2. Si se le pide que elija un origen del kernel, seleccione Entornos de Python, luego seleccione la versión de Python en la ubicación recomendada.

    Captura de pantalla de la lista desplegable "Seleccionar un entorno de Python". La primera opción de la lista de versiones de Python está etiquetada como "Recomendado".

  3. Desplázate hacia abajo para ver la salida de cada celda.

    Captura de pantalla de la celda en el editor, con el encabezado "Paso 3: Entrenamiento de la red y guardado del modelo".

Apertura de un codespace en JupyterLab

Puedes abrir el codespace en JupyterLab desde la página "Tus codespaces" en github.com/codespaces o mediante GitHub CLI. Para más información, consulta AUTOTITLE.

La aplicación JupyterLab debe estar instalada en el codespace que estás abriendo. La imagen de contenedor dev predeterminada incluye JupyterLab, por lo que los codespaces creados a partir de la imagen predeterminada siempre lo tendrán instalado. Para obtener más información sobre la imagen predeterminada, consulta Introducción a los contenedores dev y el repositorio de devcontainers/images. Si no usa la imagen predeterminada en la configuración del contenedor de desarrollo, puedes instalar JupyterLab agregando la característica ghcr.io/devcontainers/features/python al archivo devcontainer.json. Debes incluir la opción "installJupyterlab": true. Para obtener más información, consulta el archivo README de la característica python, en el repositorio devcontainers/features.

Configuración de NVIDIA CUDA para el codespace

Nota:

Esta sección es solo para los clientes que pueden crear codespaces en máquinas que usan una GPU. La capacidad de elegir un tipo de máquina que usa una GPU se ofreció a algunos clientes durante un período de prueba. Esta opción no está disponible con carácter general.

Algunos software requieren que instales NVIDIA CUDA para usar la GPU del codespace. En este caso, puedes crear tu propia configuración personalizada, mediante un archivo y especificar que CUDA debe instalarse. Para más información sobre cómo crear una configuración personalizada, consulta AUTOTITLE.

Para obtener todos los detalles del script que se ejecuta al agregar la característica , consulta el repositorio devcontainers/features.

  1. Dentro del codespace, abre el archivo en el editor.

  2. Agrega un objeto de nivel superior con el siguiente contenido:

    JSON
      "features": {
        "ghcr.io/devcontainers/features/nvidia-cuda:1": {
          "installCudnn": true
        }
      }
    

    Para obtener más información sobre el objeto , consulta Especificación de contenedores de desarrollo.

    Si usas el archivo del repositorio clasificador de imágenes que creaste para este tutorial, el archivo tendrá el siguiente aspecto:

    {
      "customizations": {
        "vscode": {
          "extensions": [
            "ms-python.python",
            "ms-toolsai.jupyter"
          ]
        }
      },
      "features": {
        "ghcr.io/devcontainers/features/nvidia-cuda:1": {
          "installCudnn": true
        }
      }
    }
    
  3. Guarde los cambios.

  4. Accede a VS Code Command Palette (Mayús+Comando+P / Ctrl+Mayús+P) y, después, empieza a escribir "recompilar". Haz clic en Codespaces: recompilar contenedor.

    Captura de pantalla de la paleta de comandos con una búsqueda de "rebuild container" y la opción "Codespace: Rebuild Container" resaltada en la lista desplegable.

    Sugerencia

    En ocasiones, es posible que quieras realizar una recompilación completa para borrar la memoria caché y recompilar el contenedor con imágenes nuevas. Para más información, consulta Reconstrucción del contenedor en un codespace. Se volverá a generar el contenedor de codespace. Esto tardará varios minutos. Cuando se completa la recompilación, el codespace se vuelve a abrir automáticamente.

  5. Publica el cambio en un repositorio para que CUDA se instale en los nuevos codespaces que crees a partir de este repositorio en el futuro. Para más información, consulta AUTOTITLE.