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 codespace
-
Vaya al repositorio de plantillas github/codespaces-jupyter.
-
Haz clic en Usar esta plantilla y luego en 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 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 dev y el repositorio Web Authentication API.
- En el editor de VS Code, cierra las pestañas "Introducción" que se muestran.
- 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.
-
Haz clic en Ejecutar todo para ejecutar todas las celdas del cuaderno.
-
Si se pide que elijas un origen de kernel, selecciona Entornos de Python y, a continuación, selecciona la versión de Python en la ubicación recomendada.
-
Desplázate hacia abajo para ver la salida de cada celda.
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 Apertura de un codespace existente.
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
Note
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 devcontainer.json
y especificar que CUDA debe instalarse. Para más información sobre cómo crear una configuración personalizada, consulta Introducción a los contenedores dev.
Para obtener todos los detalles del script que se ejecuta al agregar la característica nvidia-cuda
, consulta el repositorio devcontainers/features.
-
En un codespace, abre el archivo
.devcontainer/devcontainer.json
en el editor. -
Agrega un objeto de nivel
features
superior con el siguiente contenido:JSON "features": { "ghcr.io/devcontainers/features/nvidia-cuda:1": { "installCudnn": true } }
"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 archivodevcontainer.json
tendrá el siguiente aspecto:{ "customizations": { "vscode": { "extensions": [ "ms-python.python", "ms-toolsai.jupyter" ] } }, "features": { "ghcr.io/devcontainers/features/nvidia-cuda:1": { "installCudnn": true } } }
-
Guarde el cambio.
-
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.
Tip
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 obtener más información, vea «Recompilació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.
-
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 Creación de un codespace a partir de una plantilla.