Configurar um ambiente de desenvolvimento python para o Azure Machine Learning

Saiba como configurar um ambiente de desenvolvimento python para o Azure Machine Learning.

A tabela seguinte mostra cada ambiente de desenvolvimento abrangido neste artigo, juntamente com prós e contras.

Ambiente Vantagens Desvantagens
Ambiente local Controlo total do seu ambiente de desenvolvimento e dependências. Execute com qualquer ferramenta de compilação, ambiente ou IDE à sua escolha. Demora mais tempo a começar. Os pacotes SDK necessários têm de ser instalados e um ambiente também tem de ser instalado se ainda não tiver um.
O Máquina Virtual de Ciência de Dados (DSVM) Semelhante à instância de computação baseada na cloud (o Python está pré-instalado), mas com ferramentas de ciência de dados e machine learning mais populares pré-instaladas. É fácil dimensionar e combinar com outras ferramentas e fluxos de trabalho personalizados. Uma experiência de introdução mais lenta em comparação com a instância de computação baseada na cloud.
Instância de computação do Azure Machine Learning É a forma mais fácil de começar. O SDK já está instalado na VM da área de trabalho e os tutoriais do bloco de notas estão pré-clonados e prontos para serem executados. Falta de controlo sobre o seu ambiente de desenvolvimento e dependências. Custo adicional incorrido na VM do Linux (a VM pode ser parada quando não está a ser utilizada para evitar custos). Veja os detalhes dos preços.
Azure Databricks Ideal para executar fluxos de trabalho de machine learning intensivos em grande escala na plataforma do Apache Spark dimensionável. Sobrequalificação para machine learning experimental ou experimentações e fluxos de trabalho de menor escala. Custo adicional incorrido no Azure Databricks. Veja os detalhes dos preços.

Este artigo também fornece sugestões de utilização adicionais para as seguintes ferramentas:

  • Jupyter Notebooks: se já estiver a utilizar o Jupyter Notebooks, o SDK tem alguns extras que deve instalar.

  • Visual Studio Code: se utilizar o Visual Studio Code, a extensão do Azure Machine Learning inclui suporte de idiomas para Python e funcionalidades para tornar o trabalho com o Azure Machine Learning muito mais conveniente e produtivo.

Pré-requisitos

  • Área de trabalho do Azure Machine Learning. Se não tiver uma, pode criar uma área de trabalho do Azure Machine Learning através dos modelos portal do Azure, CLI do Azure e Resource Manager do Azure.

Apenas local e DSVM: Criar um ficheiro de configuração de área de trabalho

O ficheiro de configuração da área de trabalho é um ficheiro JSON que indica ao SDK como comunicar com a sua área de trabalho do Azure Machine Learning. O ficheiro tem o nome config.json e tem o seguinte formato:

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

Este ficheiro JSON tem de estar na estrutura do diretório que contém os scripts python ou o Jupyter Notebooks. Pode estar no mesmo diretório, num subdiretório com o nome.azureml*ou num diretório principal.

Para utilizar este ficheiro a partir do seu código, utilize o MLClient.from_config método . Este código carrega as informações do ficheiro e liga-se à área de trabalho.

Crie um ficheiro de configuração de área de trabalho num dos seguintes métodos:

  • Azure Machine Learning studio

    Transfira o ficheiro:

    1. Iniciar sessão no estúdio do Azure Machine Learning
    2. No canto superior direito estúdio do Azure Machine Learning barra de ferramentas, selecione o nome da área de trabalho.
    3. Selecione a ligação Transferir ficheiro de configuração .

    Captura de ecrã a mostrar como transferir o ficheiro de configuração.

  • Azure Machine Learning Python SDK

    Crie um script para ligar à área de trabalho do Azure Machine Learning. Certifique-se de que substitui subscription_ide workspace_nameresource_grouppelo seu.

    APLICA-SE A: SDK python azure-ai-ml v2 (atual)

        #import required libraries
        from azure.ai.ml import MLClient
        from azure.identity import DefaultAzureCredential
    
        #Enter details of your Azure Machine Learning workspace
        subscription_id = '<SUBSCRIPTION_ID>'
        resource_group = '<RESOURCE_GROUP>'
        workspace = '<AZUREML_WORKSPACE_NAME>'
    
        #connect to the workspace
        ml_client = MLClient(DefaultAzureCredential(), subscription_id, resource_group, workspace)
    

Computador local ou ambiente de VM remoto

Pode configurar um ambiente num computador local ou numa máquina virtual remota, como uma instância de computação do Azure Machine Learning ou uma VM de Ciência de Dados.

Para configurar um ambiente de desenvolvimento local ou uma VM remota:

  1. Crie um ambiente virtual python (virtualenv, conda).

    Nota

    Apesar de não ser necessário, recomenda-se que utilize o Anaconda ou o Miniconda para gerir ambientes virtuais do Python e instalar pacotes.

    Importante

    Se estiver no Linux ou macOS e utilizar uma shell que não seja bash (por exemplo, zsh), poderá receber erros quando executar alguns comandos. Para contornar este problema, utilize o bash comando para iniciar uma nova shell de bash e executar os comandos aí.

  2. Ative o seu ambiente virtual python recentemente criado.

  3. Instale o SDK Python do Azure Machine Learning.

  4. Para configurar o ambiente local para utilizar a área de trabalho do Azure Machine Learning, crie um ficheiro de configuração da área de trabalho ou utilize um existente.

Agora que tem o ambiente local configurado, está pronto para começar a trabalhar com o Azure Machine Learning. Veja o Tutorial: Azure Machine Learning num dia para começar.

Jupyter Notebooks

Ao executar um servidor de Jupyter Notebook local, recomenda-se que crie um kernel IPython para o seu ambiente virtual python. Isto ajuda a garantir o comportamento de importação de kernel e pacote esperado.

  1. Ativar kernels IPython específicos do ambiente

    conda install notebook ipykernel
    
  2. Crie um kernel para o seu ambiente virtual do Python. Certifique-se de que substitui <myenv> pelo nome do seu ambiente virtual python.

    ipython kernel install --user --name <myenv> --display-name "Python (myenv)"
    
  3. Iniciar o servidor Jupyter Notebook

    Dica

    Por exemplo, blocos de notas, veja o repositório AzureML-Examples . Os exemplos do SDK estão localizados em /sdk/python. Por exemplo, o exemplo do Bloco de notas de configuração .

Visual Studio Code

Para utilizar o Visual Studio Code para desenvolvimento:

  1. Instale o Visual Studio Code.
  2. Instale a extensão do Visual Studio Code do Azure Machine Learning (pré-visualização).

Assim que tiver a extensão do Visual Studio Code instalada, utilize-a para:

Instância de computação do Azure Machine Learning

A instância de computação do Azure Machine Learning é uma estação de trabalho do Azure segura e baseada na cloud que fornece aos cientistas de dados um servidor Jupyter Notebook, o JupyterLab e um ambiente de machine learning totalmente gerido.

Não há nada para instalar ou configurar para uma instância de computação.

Crie um a qualquer momento a partir da sua área de trabalho do Azure Machine Learning. Forneça apenas um nome e especifique um tipo de VM do Azure. Experimente agora com este Tutorial: Configurar o ambiente e a área de trabalho.

Para saber mais sobre instâncias de computação, incluindo como instalar pacotes, veja Criar e gerir uma instância de computação do Azure Machine Learning.

Dica

Para evitar incorrer em custos de uma instância de computação não utilizada, ative o encerramento inativo.

Além de um servidor Jupyter Notebook e do JupyterLab, pode utilizar instâncias de computação na funcionalidade de bloco de notas integrado dentro de estúdio do Azure Machine Learning.

Também pode utilizar a extensão do Visual Studio Code do Azure Machine Learning para ligar a uma instância de computação remota com o VS Code.

Máquina Virtual de Ciência de Dados

A VM de Ciência de Dados é uma imagem de máquina virtual (VM) personalizada que pode utilizar como um ambiente de desenvolvimento. Foi concebido para o trabalho de ciência de dados que tem ferramentas e software pré-configurados, como:

  • Pacotes como TensorFlow, PyTorch, Scikit-learn, XGBoost e O SDK do Azure Machine Learning
  • Ferramentas populares de ciência de dados, como Spark Standalone e Drill
  • Ferramentas do Azure, como a CLI do Azure, AzCopy e Explorador de Armazenamento
  • Ambientes de desenvolvimento integrados (IDEs), como o Visual Studio Code e o PyCharm
  • Jupyter Notebook Server

Para obter uma lista mais abrangente das ferramentas, veja o Guia de ferramentas de VM de Ciência de Dados.

Importante

Se planear utilizar a VM de Ciência de Dados como um destino de computação para as suas tarefas de preparação ou inferência, apenas o Ubuntu é suportado.

Para utilizar a VM de Ciência de Dados como um ambiente de desenvolvimento:

  1. Crie uma VM de Ciência de Dados com um dos seguintes métodos:

    • Utilize o portal do Azure para criar uma DSVM do Ubuntu ou do Windows.

    • Crie uma VM de Ciência de Dados com modelos do ARM.

    • Utilizar a CLI do Azure

      Para criar uma VM de Ciência de Dados do Ubuntu, utilize o seguinte 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 criar uma DSVM do Windows, utilize o seguinte 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. Crie um ambiente conda para o SDK do Azure Machine Learning:

    conda create -n py310 python=310
    
  3. Depois de criar o ambiente, ative-o e instale o SDK

    conda activate py310
    pip install azure-ai-ml azure-identity
    
  4. Para configurar a VM de Ciência de Dados para utilizar a área de trabalho do Azure Machine Learning, crie um ficheiro de configuração da área de trabalho ou utilize um existente.

    Dica

    À semelhança dos ambientes locais, pode utilizar o Visual Studio Code e a extensão do Visual Studio Code do Azure Machine Learning para interagir com o Azure Machine Learning.

    Para obter mais informações, veja Data Science Máquinas Virtuais.

Passos seguintes