Skip to main content
Publicamos actualizaciones para la documentación con frecuencia y es posible que aún se esté traduciendo esta página. Para obtener la información más reciente, consulta la documentación en inglés.

Introducción a codespaces de GitHub 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 simple, obtendrás información sobre algunas de las herramientas que vienen preinstaladas en GitHub Codespaces, configurarás el entorno de desarrollo para NVIDIA CUDA y abrirás el 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 codespace

  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

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 usan los datos GitHub Codespaces incluye un conjunto de bibliotecas de aprendizaje automático preinstaladas en el codespace. 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 "Introducción a los contenedores de desarrollo" y el devcontainers/images repositorio.

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

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 del botón Ejecutar todo

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

    Captura de pantalla del paso 3 en el editor

Configuración de NVIDIA CUDA para el codespace

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 devcontainer.json y especificar que CUDA debe instalarse. Para obtener más información sobre las configuraciones personalizadas, consulta "Introducción a los contenedores de desarrollo".

Nota: Para obtener detalles completos del script que se ejecuta al agregar la característica nvidia-cuda, consulta el repositorio de características/contenedores de desarrollo.

  1. En un codespace, abre el archivo .devcontainer/devcontainer.json en el editor.

  2. Agrega un objeto de nivel features 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 features, consulta Especificación de contenedores de desarrollo.

    Si usas el archivo devcontainer.json del repositorio clasificador de imágenes que creaste para este tutorial, el archivo devcontainer.json 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 el cambio.

  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 del comando Recompilar contenedor en la paleta de comandos

    Consejo: 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 "Realización de una recompilación completa de un contenedor".

    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 obtener más información, consulta "Creación de un codespace a partir de una plantilla".

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 obtener más información, consulta "Apertura de un codespece existente".

La aplicación JupyterLab debe estar instalada en el codespace que estás abriendo. La imagen de contenedor 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 de desarrollo" y el devcontainers/images repositorio. 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 Léame de la característica python, en el repositorio devcontainers/features.