Configuración de un entorno de desarrollo de Python para Azure Machine Learning

Descubra cómo configurar un entorno de desarrollo de Python para Azure Machine Learning.

En la tabla siguiente se muestra cada entorno de desarrollo que se trata en este artículo, junto con las ventajas y desventajas.

Entorno Ventajas Desventajas
Entorno local Control total del entorno de desarrollo y las dependencias. Funciona con cualquier herramienta de compilación, entorno o IDE de su elección. Tarda más tiempo en comenzar. Se deben instalar los paquetes de SDK necesarios y también debe instalarse un entorno si aún no tiene uno.
Data Science Virtual Machine (DSVM) De forma parecida a la instancia de proceso basada en la nube (con Python y el SDK preinstalados), pero con herramientas adicionales de ciencia de datos y aprendizaje automático conocidas instaladas previamente. Fácil de escalar y combinar con otras herramientas y flujos de trabajo personalizados. Una experiencia de inicio más lenta en comparación con la instancia de proceso basada en la nube.
Instancia de proceso de Azure Machine Learning Manera más fácil de empezar. El SDK completo ya está instalado en la máquina virtual del área de trabajo y los tutoriales de cuaderno están clonados previamente y listos para ejecutarse. Falta de control sobre el entorno de desarrollo y las dependencias. Costo adicional por la máquina virtual Linux (la máquina virtual se puede detener cuando no se use para evitar cargos). Consulte los detalles de los precios.
Azure Databricks Perfecto para ejecutar flujos de trabajo de aprendizaje automático intensivos y a gran escala en la plataforma escalable de Apache Spark. Excesivo para aprendizaje automático experimental o experimentos y flujos de trabajo a pequeña escala. Costo adicional por Azure Databricks. Consulte los detalles de los precios.

En este artículo también se proporcionan sugerencias de uso adicionales para las siguientes herramientas:

  • Jupyter Notebook: si ya usa instancias de Jupyter Notebook, el SDK incluye algunos elementos adicionales que debe instalar.

  • Visual Studio Code: Si usa Visual Studio Code, la extensión de Azure Machine Learning incluye un amplio soporte de lenguaje para Python, así como características para que trabajar con Azure Machine Learning sea mucho más cómodo y productivo.

Requisitos previos

Solo en el entorno local y DSVM: Crear un archivo de configuración del área de trabajo

El archivo de configuración del área de trabajo es un archivo JSON que le indica al SDK cómo comunicarse con el área de trabajo de Azure Machine Learning. El archivo se denomina config.json y tiene el formato siguiente:

{
    "subscription_id": "<subscription-id>",
    "resource_group": "<resource-group>",
    "workspace_name": "<workspace-name>"
}

Este archivo JSON debe estar en la estructura de directorios que contiene los scripts de Python o las instancias de Jupyter Notebook. Puede estar en el mismo directorio, en un subdirectorio denominado .azureml o en un directorio principal.

Para utilizar este archivo desde el código, utilice el método Workspace.from_config. Este código carga la información del archivo y se conecta a su área de trabajo.

Cree un archivo de configuración del área de trabajo con uno de los métodos siguientes:

  • Azure portal

    Descargar el archivo: en Azure Portal, seleccione Descargar config.json desde la sección Información general del área de trabajo.

    Azure portal

  • SDK de Python de Azure Machine Learning

    Cree un script para conectarse a su área de trabajo de Azure Machine Learning y use el método write_config a fin de generar el archivo y guárdelo como .azureml/config.json. Asegúrese de reemplazar subscription_id, resource_group y workspace_name por sus propios valores.

    SE APLICA A:Azure ML del SDK de Python v1

    from azureml.core import Workspace
    
    subscription_id = '<subscription-id>'
    resource_group  = '<resource-group>'
    workspace_name  = '<workspace-name>'
    
    try:
        ws = Workspace(subscription_id = subscription_id, resource_group = resource_group, workspace_name = workspace_name)
        ws.write_config()
        print('Library configuration succeeded')
    except:
        print('Workspace not found')
    

Equipo local o entorno de máquina virtual remoto

Puede configurar un entorno en un equipo local o una máquina virtual remota, como una instancia de proceso de Azure Machine Learning o Data Science VM.

Para configurar un entorno de desarrollo local o una máquina virtual remota:

  1. Cree un entorno virtual de Python (virtualenv, conda).

    Nota

    Aunque no es necesario, se recomienda usar Anaconda o Miniconda para administrar entornos virtuales de Python e instalar paquetes.

    Importante

    Si usa Linux o Mac OS y un shell distinto de bash (por ejemplo, zsh), es posible que reciba errores al ejecutar algunos comandos. Para solucionar este problema, use el comando bash para iniciar un nuevo shell de bash y ejecutar sus comandos.

  2. Active el entorno virtual de Python recién creado.

  3. Instale el SDK de Azure Machine Learning para Python.

  4. Con el fin de configurar el entorno local para usar el área de trabajo de Azure Machine Learning, cree un archivo de configuración de área de trabajo o use uno que ya tenga.

Ahora que ha configurado el entorno local, ya podrá empezar a trabajar con Azure Machine Learning. Consulte la guía de introducción de Azure Machine Learning para Python para comenzar.

Cuadernos de Jupyter Notebook

Al ejecutar un servidor de Jupyter Notebook local, se recomienda crear un kernel de IPython para el entorno virtual de Python. Esto ayuda a garantizar el comportamiento esperado de la importación del paquete y el kernel.

  1. Habilitación de los kernels de IPython específicos del entorno

    conda install notebook ipykernel
    
  2. Cree un kernel para el entorno virtual de Python. Asegúrese de reemplazar <myenv> por el nombre de su entorno virtual de Python.

    ipython kernel install --user --name <myenv> --display-name "Python (myenv)"
    
  3. Inicio del servidor de Jupyter Notebook

Consulte el repositorio de cuadernos de Azure Machine Learning para empezar a trabajar con Azure Machine Learning y Jupyter Notebook. Consulte también el repositorio controlado por la comunidad, AzureML-Examples.

Visual Studio Code

Para usar Visual Studio Code para el desarrollo:

  1. Instale Visual Studio Code.
  2. Instale la extensión Azure Machine Learning para Visual Studio Code (versión preliminar).

Una vez que tenga instalada la extensión de Visual Studio Code, úsela para:

Instancia de proceso de Azure Machine Learning

La instancia de proceso de Azure Machine Learning es una estación de trabajo de Azure segura y basada en la nube que proporciona a los científicos de datos un servidor de Jupyter Notebook, JupyterLab y un entorno de aprendizaje automático totalmente administrado.

No hay nada que instalar o configurar para una instancia de proceso.

Cree una en cualquier momento desde el área de trabajo de Azure Machine Learning. Basta con que proporcione un nombre y especifique un tipo de máquina virtual de Azure. Pruébelo ahora con este Tutorial: Configuración del entorno y el área de trabajo.

Para obtener más información acerca de las instancias de proceso, incluyendo cómo instalar paquetes, consulte Creación y administración de una instancia de proceso de Azure Machine Learning.

Sugerencia

Para evitar incurrir en cargos por una instancia de proceso no usada, detenga la instancia de proceso.

Además de un servidor de Jupyter Notebook y JupyterLab, puede usar instancias de proceso en la característica de cuadernos integrada en Estudio de Azure Machine Learning.

También puede usar la extensión de Visual Studio Code para Azure Machine Learning para conectarse a una instancia de proceso remota mediante VS Code.

Máquina virtual de ciencia de datos

Data Science VM es una imagen de máquina virtual personalizada que puede usar como entorno de desarrollo. Está diseñada para realizar trabajos de ciencia de datos que estén preconfigurados con herramientas y software como:

  • Paquetes, como TensorFlow, PyTorch, Scikit-learn, XGBoost y el SDK de Azure Machine Learning
  • Herramientas de ciencia de datos populares, como Spark Standalone o Drill
  • Herramientas de Azure, como la CLI de Azure, AzCopy y el Explorador de Storage
  • Entornos de desarrollo integrado (IDE), como Visual Studio Code y PyCharm
  • Servidor de Jupyter Notebook

Para ver una lista más completa de las herramientas, consulte la guía de herramientas de Data Science VM.

Importante

Si planea usar la instancia de Data Science VM como destino de proceso para sus trabajos de entrenamiento o inferencia, solo se admite Ubuntu.

Para usar la instancia de Data Science VM como entorno de desarrollo, haga lo siguiente:

  1. Cree una instancia de Data Science VM con uno de los métodos siguientes:

    • Use Azure Portal para crear una instancia de DSVM de Ubuntu o Windows.

    • Cree una instancia de Data Science VM con plantillas de Resource Manager.

    • Uso de la CLI de Azure

      Para crear una instancia de Data Science VM de Ubuntu, use el siguiente comando:

      # create a Ubuntu Data Science VM in your resource group
      # note you need to be at least a contributor to the resource group in order to execute this command successfully
      # If you need to create a new resource group use: "az group create --name YOUR-RESOURCE-GROUP-NAME --location YOUR-REGION (For example: westus2)"
      az vm create --resource-group YOUR-RESOURCE-GROUP-NAME --name YOUR-VM-NAME --image microsoft-dsvm:linux-data-science-vm-ubuntu:linuxdsvmubuntu:latest --admin-username YOUR-USERNAME --admin-password YOUR-PASSWORD --generate-ssh-keys --authentication-type password
      

      Para crear una instancia de DSVM de Windows, use el siguiente comando:

      # create a Windows Server 2016 DSVM in your resource group
      # note you need to be at least a contributor to the resource group in order to execute this command successfully
      az vm create --resource-group YOUR-RESOURCE-GROUP-NAME --name YOUR-VM-NAME --image microsoft-dsvm:dsvm-windows:server-2016:latest --admin-username YOUR-USERNAME --admin-password YOUR-PASSWORD --authentication-type password
      
  2. Active el entorno de conda que contiene el SDK de Azure Machine Learning.

    • Para una instancia de Data Science VM de Ubuntu:

      conda activate py36
      
    • Para una instancia de Data Science VM de Windows:

      conda activate AzureML
      
  3. Para configurar la instancia de Data Science VM que usará el área de trabajo de Azure Machine Learning, cree un archivo de configuración del área de trabajo o use uno que ya tenga.

De forma similar a los entornos locales, puede usar Visual Studio Code y la extensión de Azure Machine Learning para Visual Studio Code con el fin de interactuar con Azure Machine Learning.

Consulte Data Science Virtual Machine para obtener más información.

Pasos siguientes