Configurar un laboratorio para enseñar ciencia de datos con Python y Jupyter Notebooks
Importante
Azure Lab Services se retirará el 28 de junio de 2027. Para más información, consulte la guía de retirada.
En este artículo se describe cómo configurar una máquina virtual (VM) de plantilla en Azure Lab Services que incluya herramientas para enseñar a los alumnos a usar cuadernos de Jupyter Notebook. También aprenderá cómo los usuarios de laboratorio pueden conectarse a los cuadernos en sus máquinas virtuales.
Jupyter Notebooks es un proyecto de código abierto que permite combinar fácilmente texto enriquecido y código fuente ejecutable de Python en un único lienzo, conocido como cuaderno. Ejecute un cuaderno para crear un registro lineal de entradas y salidas. Dichas salidas pueden incluir texto, tablas de información, gráficos de dispersión y mucho más.
Nota:
En este artículo se hace referencia a las características disponibles en planes de laboratorio, que reemplazaron las cuentas de laboratorio.
Requisitos previos
- Para configurar este laboratorio, necesita acceso a una suscripción a Azure. Hable con el administrador de su organización para ver si puede obtener acceso a una suscripción de Azure existente. Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
Configurar los valores del plan de laboratorio
Después de tener una suscripción de Azure, puede crear un plan de laboratorio en Azure Lab Services. Para obtener más información sobre cómo crear un nuevo plan de laboratorio, consulte Inicio rápido: configuración de recursos para crear laboratorios. También puede usar un plan de laboratorio existente.
Este laboratorio usa una de las imágenes de Data Science Virtual Machine como imagen de máquina virtual base. Estas imágenes están disponibles en Azure Marketplace. Esta opción permite a los creadores de laboratorio seleccionar la imagen como una imagen base para su laboratorio. Debe habilitar estas imágenes en el plan de laboratorio.
Siga estos pasos para habilitar estas imágenes de Azure Marketplace disponibles para creadores de laboratorio.
Seleccione una de las siguientes imágenes de Azure Marketplace, en función de los requisitos del sistema operativo:
- Data Science Virtual Machine: Windows Server 2019/Windows Server 2022
- Data Science Virtual Machine: Ubuntu 20.04
Como alternativa, puede crear una imagen de máquina virtual personalizada:
Las imágenes de Data Science VM en Azure Marketplace ya están configuradas con cuadernos de Jupyter Notebook. Estas imágenes también incluyen otras herramientas de desarrollo y modelado para la ciencia de datos. Si no necesita esas herramientas adicionales y quiere una configuración ligera con cuadernos de Jupyter Notebook, cree una imagen de máquina virtual personalizada. Por ejemplo, consulte Instalación de JupyterHub en Azure.
Después de crear la imagen personalizada, cargue la imagen en una galería de proceso para usarla con Azure Lab Services. Más información sobre el uso de la galería de procesos en Azure Lab Services.
Creación de un laboratorio
Crear un laboratorio para el plan de laboratorio:
Para ver instrucciones sobre cómo crear un laboratorio, vea Tutorial: configuración de un laboratorio. Especifique la siguiente configuración de laboratorio:
Configuración del laboratorio Value Tamaño de la máquina virtual Seleccione Pequeño o Mediano para configurar los valores básicos de acceso a los cuadernos de Jupyter Notebook. Seleccione GPU pequeña alternativa (proceso) para las aplicaciones de proceso intensivo y de red que se usan en las clases de inteligencia artificial y aprendizaje profundo. Imagen de máquina virtual Elija Data Science Virtual Machine: Windows Server 2019, Data Science Virtual Machine: Windows Server 2022 o Data Science Virtual Machine: Ubuntu. Configuración de la plantilla de máquina virtual Seleccione Usar máquina virtual sin personalización. Al crear un laboratorio con el tamaño GPU pequeña alternativa (proceso), instalará controladores de GPU.
Este proceso instala controladores de NVIDIA recientes y el kit de herramientas de arquitectura de dispositivos unificados de proceso (CUDA), que debe habilitar la informática de alto rendimiento con la GPU. Para obtener más información, consulte Configuración de un laboratorio con máquinas virtuales de GPU.
Configuración de la máquina de plantilla
Después de crear un laboratorio, cree una máquina virtual de plantilla basada en el tamaño de la máquina virtual y la imagen que elija. Configure la máquina virtual de plantilla con todo lo que quiere proporcionar a los alumnos para esta clase. Para más información, consulte Creación y administración de una plantilla en Azure Lab Services.
Las imágenes de Data Science VM incluyen muchos de los marcos de ciencia de datos y herramientas necesarios para este tipo de clase. Por ejemplo, las imágenes incluyen lo siguiente:
- Jupyter Notebook: una aplicación web que permite a los científicos de datos tomar datos sin procesar, ejecutar cálculos y ver los resultados en el mismo entorno. Se ejecuta localmente en la plantilla de máquina virtual.
- Visual Studio Code: un entorno de desarrollo integrado (IDE) que proporciona una experiencia interactiva enriquecida al escribir y probar un cuaderno. Para obtener más información, consulte Trabajar con cuadernos de Jupyter Notebook en Visual Studio Code.
La imagenData Science Virtual Machine, Ubuntu está aprovisionada con el servidor X2Go para permitir que los usuarios del laboratorio usen una experiencia gráfica de escritorio.
Habilitación de herramientas para usar GPU
Si usa el tamaño GPU pequeña (proceso), se recomienda comprobar que las bibliotecas y los marcos de ciencia de datos estén configurados correctamente para usar GPU. Es posible que tenga que instalar una versión diferente de los controladores NVIDIA y el kit de herramientas de CUDA. Para configurar las GPU, debe consultar la documentación del marco o la biblioteca.
Por ejemplo, para validar que TensorFlow usa la GPU, conéctese a la máquina virtual de plantilla y ejecute el siguiente código Python-TensorFlow en Jupyter Notebooks:
import tensorflow as tf
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())
Si la salida de este código es similar al resultado siguiente, TensorFlow no está usando GPU:
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 15833696144144374634
]
Siguiendo con este ejemplo, consulte Compatibilidad con GPU de TensorFlow para que le sirva de guía. La guía de TensorFlow incluye:
- Versión necesaria de los controladores NVIDIA
- Versión necesaria del kit de herramientas de CUDA
- Instrucciones para instalar la biblioteca de red neuronal profunda de CUDA (cudDNN) de NVIDIA
Después de seguir los pasos de TensorFlow para configurar la GPU, al volver a ejecutar el código de prueba, debería ver unos resultados similares a la salida siguiente.
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 15833696144144374634
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 11154792128
locality {
bus_id: 1
links {
}
}
incarnation: 2659412736190423786
physical_device_desc: "device: 0, name: NVIDIA Tesla K80, pci bus id: 0001:00:00.0, compute capability: 3.7"
]
Suministro de cuadernos para la clase
La siguiente tarea consiste en proporcionar a los usuarios del laboratorio cuadernos que quiera que usen. Puede guardar cuadernos localmente en la plantilla de máquina virtual para que cada usuario de laboratorio tenga su propia copia.
Si quiere usar cuadernos de ejemplo de Azure Machine Learning, vea Procedimientos para configurar un entorno con cuadernos de Jupyter Notebook.
Publicación de la máquina de plantilla
Para que la máquina virtual de laboratorio esté disponible para los usuarios del laboratorio, publique la plantilla. La máquina virtual de laboratorio tiene todas las herramientas y cuadernos locales que configuró anteriormente.
Conexión a Jupyter Notebooks
En las secciones siguientes se muestran diferentes maneras de que los usuarios del laboratorio se conecten a cuadernos de Jupyter Notebook en la máquina virtual del laboratorio.
Uso de Cuadernos de Jupyter Notebook en la máquina virtual de laboratorio
Los usuarios del laboratorio pueden conectarse desde su máquina local a la máquina virtual de laboratorio y, a continuación, usar cuadernos de Jupyter Notebook dentro de la máquina virtual de laboratorio.
Si usa una máquina virtual de laboratorio basada en Windows, los usuarios del laboratorio pueden conectarse a sus máquinas virtuales de laboratorio mediante escritorio remoto (RDP). Para obtener más información, consulte cómo conectarse a una máquina virtual de laboratorio Windows.
Si usa una máquina virtual de laboratorio basada en Linux, los usuarios del laboratorio pueden conectarse a sus máquinas virtuales de laboratorio a través de SSH o mediante X2Go. Para más información, consulte cómo conectarse a una máquina virtual de laboratorio Linux.
Tunelización SSH al servidor de Jupyter en la máquina virtual
En el caso de los laboratorios basados en Linux, también puede conectarse directamente desde el equipo local al servidor de Jupyter dentro de la máquina virtual de laboratorio. El protocolo SSH habilita el reenvío de puertos entre el equipo local y un servidor remoto. Esta es la máquina virtual del laboratorio del usuario. Una aplicación que se ejecuta en un puerto determinado del servidor se tunelizará al puerto de asignación en el equipo local.
Siga estos pasos para configurar un túnel SSH entre la máquina local de un usuario y el servidor de Jupyter en la máquina virtual del laboratorio:
Vaya al sitio web de Azure Lab Services.
Compruebe que la máquina virtual de laboratorio basada en Linux se está ejecutando.
Seleccione el icono de Conectar >Conectar a través de SSH para obtener el comando de conexión SSH.
El comando de conexión SSH tiene el aspecto del ejemplo siguiente:
ssh -p 12345 student@ml-lab-00000000-0000-0000-0000-000000000000.eastus2.cloudapp.azure.com
Obtenga más información sobre cómo conectarse a una máquina virtual Linux.
En el equipo local, inicie un terminal o símbolo del sistema y copie la cadena de conexión SSH en él. Después, agregue
-L 8888:localhost:8888
a la cadena de comandos, que crea el túnel entre los puertos.El comando final debe tener un aspecto similar al del ejemplo siguiente.
ssh –L 8888:localhost:8888 -p 12345 student@ml-lab-00000000-0000-0000-0000-000000000000.eastus.cloudapp.azure.com
Presione Entrar para ejecutar el comando.
Cuando se le solicite, proporcione la contraseña de máquina virtual del laboratorio para conectarse a la máquina virtual del laboratorio.
Cuando esté conectado a la máquina virtual, inicie el servidor de Jupyter mediante este comando:
jupyter notebook
El comando genera una dirección URL para el servidor de Jupyter en el terminal. La dirección URL debería ser similar al ejemplo siguiente:
http://localhost:8888/?token=8c09ecfc93e6a8cbedf9c66dffdae19670a64acc1d37
Para conectarse a Jupyter Notebook y trabajar en él, pegue esta dirección URL en un explorador del equipo local.
Nota:
Visual Studio Code también habilita una excelente experiencia de edición de Jupyter Notebook. Se pueden seguir las instrucciones sobre cómo conectarse a un servidor remoto de Jupyter y usar la misma dirección URL del paso anterior para conectarse desde VS Code en lugar de hacerlo desde el explorador.
Estimación del costo
En esta sección se proporciona una estimación de costos para ejecutar esta clase para 25 usuarios de laboratorio. Hay 20 horas de tiempo de clase programado. Además, cada usuario obtiene una cuota de 10 horas para tareas o tareas fuera de la hora programada de la clase. El tamaño de máquina virtual elegido era una GPU pequeña alternativa (proceso), que es 139 unidades de laboratorio. Si se quiere usar el tamaño Pequeño (20 unidades de laboratorio) o el Medio (42 unidades de laboratorio), se puede reemplazar la parte de la unidad de laboratorio de esta ecuación por el número correcto.
A continuación se incluye un ejemplo de una posible estimación del costo para esta clase: 25 lab users * (20 scheduled hours + 10 quota hours) * 139 lab units * 0.01 USD per hour = 1042.5 USD
.
Importante
Esta estimación de costos es solo para fines de ejemplo. Para conocer los detalles actuales sobre los precios, consulte Precios de Azure Lab Services.
Contenido relacionado
En este artículo, ha aprendido a crear un laboratorio para una clase de Jupyter Notebooks y a cómo el usuario puede conectarse a sus cuadernos en la máquina virtual del laboratorio. Puede usar una configuración similar para otras clases de aprendizaje automático.
Ahora se puede publicar la imagen de plantilla en el laboratorio. Para obtener más información, vea Publicación de la máquina virtual de plantilla.
Cuando configure el laboratorio, consulte los siguientes artículos: