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
-
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 más información sobre la imagen predeterminada, consulta "Introducción a los contenedores dev" y el repositorio devcontainers/images
.
- 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.
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 más información sobre cómo crear una configuración personalizada, consulta "Introducción a los contenedores dev".
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.
-
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 } }
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.
<div class="extended-markdown tip border rounded-1 mb-4 p-3 color-border-accent-emphasis color-bg-accent f5">
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 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 obtener más información, vea «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, vea «Apertura de un codespace 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
.