Configurar um ambiente de desenvolvimento python para o Azure Machine Learning (v1)

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 e o SDK estão pré-instalados), mas com outras ferramentas populares de ciência de dados e machine learning 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. Todo 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 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 um amplo suporte de linguagem 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 .azuremlou num diretório principal.

Para utilizar este ficheiro a partir do seu código, utilize o Workspace.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:

  • Portal do Azure

    Transfira o ficheiro: na portal do Azure, selecione Transferir config.json na secção Descrição geral da área de trabalho.

    Captura de ecrã da página de descrição geral da área de trabalho com a opção transferir config.json selecionada.

  • Azure Machine Learning Python SDK

    Crie um script para ligar à área de trabalho do Azure Machine Learning e utilize o método para gerar o write_config seu ficheiro e guardá-lo como .azureml/config.json. Certifique-se de que substitui subscription_ide workspace_nameresource_grouppelo seu.

    APLICA-SE A:Python SDK azureml 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')
    

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 Ciência de Dados VM.

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 guia de introdução do Python do Azure Machine Learning 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

Veja o repositório de blocos de notas do Azure Machine Learning para começar a utilizar o Azure Machine Learning e o Jupyter Notebooks. Veja também o repositório orientado pela comunidade, AzureML-Examples.

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).

    Importante

    Esta funcionalidade está atualmente em pré-visualização pública. Esta versão de pré-visualização é fornecida sem um contrato de nível de serviço e não a recomendamos para cargas de trabalho de produção. Algumas funcionalidades poderão não ser suportadas ou poderão ter capacidades limitadas.

    Para obter mais informações, veja Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.

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 Criar recursos para começar.

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, pare a instância de computação. Em alternativa, ative o encerramento inativo para a instância de computação.

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

O Ciência de Dados VM é uma imagem de máquina virtual (VM) personalizada que pode utilizar como um ambiente de desenvolvimento. Foi concebido para trabalhos de ciência de dados que são 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 o Spark Autónomo e a Pormenorização
  • 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
  • Servidor Jupyter Notebook

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

Importante

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

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

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

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

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

    • Utilizar a CLI do Azure

      Para criar uma VM do Ubuntu Ciência de Dados, 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. Ative o ambiente conda que contém o SDK do Azure Machine Learning.

    • Para A VM do Ubuntu Ciência de Dados:

      conda activate py36
      
    • Para a VM do Windows Ciência de Dados:

      conda activate AzureML
      
  3. Para configurar o Ciência de Dados VM para utilizar a área de trabalho do Azure Machine Learning, crie um ficheiro de configuração da área de trabalho ou utilize um existente.

À 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 Ciência de Dados Máquinas Virtuais.

Passos seguintes