Configurar um ambiente de desenvolvimento do Python para Azure Machine LearningSet up a Python development environment for Azure Machine Learning

Saiba como configurar um ambiente de desenvolvimento do Python para Azure Machine Learning.Learn how to configure a Python development environment for Azure Machine Learning.

A tabela a seguir mostra cada ambiente de desenvolvimento abordado neste artigo, com os prós e contras.The following table shows each development environment covered in this article, along with pros and cons.

AmbienteEnvironment VantagensPros DesvantagensCons
Ambiente localLocal environment Controle total do seu ambiente de desenvolvimento e dependências.Full control of your development environment and dependencies. Execute com qualquer ferramenta de compilação, ambiente ou IDE de sua escolha.Run with any build tool, environment, or IDE of your choice. Leva mais tempo para começar.Takes longer to get started. Os pacotes SDK necessários devem ser instalados e um ambiente também deve ser instalado se você ainda não tiver um.Necessary SDK packages must be installed, and an environment must also be installed if you don't already have one.
O Máquina Virtual de Ciência de Dados (DSVM)The Data Science Virtual Machine (DSVM) Semelhante à instância de computação baseada em nuvem (o Python e o SDK são pré-instalados), mas com uma ciência de dados popular adicional e ferramentas de aprendizado de máquina pré-instaladas.Similar to the cloud-based compute instance (Python and the SDK are pre-installed), but with additional popular data science and machine learning tools pre-installed. Fácil de dimensionar e combinar com outras ferramentas e fluxos de trabalho personalizados.Easy to scale and combine with other custom tools and workflows. Uma experiência de introdução mais lenta em comparação com a instância de computação baseada em nuvem.A slower getting started experience compared to the cloud-based compute instance.
Instância de computação do Azure Machine LearningAzure Machine Learning compute instance A maneira mais fácil de começar.Easiest way to get started. O SDK completo já está instalado na VM do seu espaço de trabalho, e os tutoriais do notebook são previamente clonados e prontos para serem executados.The entire SDK is already installed in your workspace VM, and notebook tutorials are pre-cloned and ready to run. Falta de controle sobre seu ambiente de desenvolvimento e dependências.Lack of control over your development environment and dependencies. Custo adicional incorrido para a VM do Linux (a VM pode ser interrompida quando não estiver em uso para evitar cobranças).Additional cost incurred for Linux VM (VM can be stopped when not in use to avoid charges). Consulte detalhes de preço.See pricing details.
Azure DatabricksAzure Databricks Ideal para executar fluxos de trabalho de aprendizado de máquina com uso intensivo em larga escala na plataforma Apache Spark escalonável.Ideal for running large-scale intensive machine learning workflows on the scalable Apache Spark platform. Um exagero para aprendizado de máquina experimental ou experimentos e fluxos de trabalho de escala menor.Overkill for experimental machine learning, or smaller-scale experiments and workflows. Custo adicional incorrido para Azure Databricks.Additional cost incurred for Azure Databricks. Consulte detalhes de preço.See pricing details.

Este artigo também fornece dicas de uso adicionais para as seguintes ferramentas:This article also provides additional usage tips for the following tools:

  • Jupyter Notebooks: se você já está usando Jupyter Notebooks, o SDK tem alguns recursos extra que você deve instalar.Jupyter Notebooks: If you're already using Jupyter Notebooks, the SDK has some extras that you should install.

  • Visual Studio Code: se você usar Visual Studio Code, a extensão Azure Machine Learning incluirá amplo suporte a idiomas para Python, bem como recursos para tornar o trabalho com os Azure Machine Learning muito mais conveniente e produtivo.Visual Studio Code: If you use Visual Studio Code, the Azure Machine Learning extension includes extensive language support for Python as well as features to make working with the Azure Machine Learning much more convenient and productive.

Pré-requisitosPrerequisites

Somente local e DSVM: criar um arquivo de configuração de espaço de trabalhoLocal and DSVM only: Create a workspace configuration file

O arquivo de configuração do espaço de trabalho é um arquivo JSON que informa ao SDK como se comunicar com seu espaço de trabalho Azure Machine Learning.The workspace configuration file is a JSON file that tells the SDK how to communicate with your Azure Machine Learning workspace. O arquivo é nomeado config.json e tem o seguinte formato:The file is named config.json, and it has the following format:

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

Esse arquivo JSON deve estar na estrutura de diretório que contém os scripts Python ou Jupyter Notebooks.This JSON file must be in the directory structure that contains your Python scripts or Jupyter Notebooks. Ele pode estar no mesmo diretório, um subdiretório denominado .azureml ou em um diretório pai.It can be in the same directory, a subdirectory named .azureml, or in a parent directory.

Para usar esse arquivo do seu código, use o Workspace.from_config método.To use this file from your code, use the Workspace.from_config method. Esse código carrega as informações do arquivo e se conecta ao seu workspace.This code loads the information from the file and connects to your workspace.

Crie um arquivo de configuração de espaço de trabalho em um dos seguintes métodos:Create a workspace configuration file in one of the following methods:

  • Portal do AzureAzure portal

    Baixe o arquivo: no portal do Azure, selecione baixar config.jsna seção visão geral do seu espaço de trabalho.Download the file: In the Azure portal, select Download config.json from the Overview section of your workspace.

    Portal do Azure

  • SDK do Python do Azure Machine LearningAzure Machine Learning Python SDK

    Crie um script para se conectar ao seu Azure Machine Learning espaço de trabalho e use o write_config método para gerar o arquivo e salvá-lo como . azureml/config.jsem.Create a script to connect to your Azure Machine Learning workspace and use the write_config method to generate your file and save it as .azureml/config.json. Certifique-se de substituir subscription_id , resource_group e workspace_name pelo seu próprio.Make sure to replace subscription_id,resource_group, and workspace_name with your own.

    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 remotaLocal computer or remote VM environment

Você pode configurar um ambiente em um computador local ou máquina virtual remota, como uma instância de computação Azure Machine Learning ou VM de Ciência de Dados.You can set up an environment on a local computer or remote virtual machine, such as an Azure Machine Learning compute instance or Data Science VM.

Para configurar um ambiente de desenvolvimento local ou VM remota:To configure a local development environment or remote VM:

  1. Crie um ambiente virtual Python (virtualenv, Conda).Create a Python virtual environment (virtualenv, conda).

    Observação

    Embora não seja necessário, é recomendável usar Anaconda ou Miniconda para gerenciar ambientes virtuais do Python e instalar pacotes.Although not required, it's recommended you use Anaconda or Miniconda to manage Python virtual environments and install packages.

    Importante

    Se você estiver no Linux ou no macOS e usar um shell diferente do bash (por exemplo, zsh), poderá receber erros ao executar alguns comandos.If you're on Linux or macOS and use a shell other than bash (for example, zsh) you might receive errors when you run some commands. Para contornar esse problema, use o comando bash para iniciar um novo shell do Bash e executar os comandos nele.To work around this problem, use the bash command to start a new bash shell and run the commands there.

  2. Ative seu ambiente virtual do Python criado recentemente.Activate your newly created Python virtual environment.

  3. Instale o SDK do Azure Machine Learning Python.Install the Azure Machine Learning Python SDK.

  4. Para configurar seu ambiente local para usar seu espaço de trabalho Azure Machine Learning, crie um arquivo de configuração de espaço de trabalho ou use um existente.To to configure your local environment to use your Azure Machine Learning workspace, create a workspace configuration file or use an existing one.

Agora que o seu ambiente local está configurado, você está pronto para começar a trabalhar com Azure Machine Learning.Now that you have your local environment set up, you're ready to start working with Azure Machine Learning. Consulte o Guia de introdução ao Azure Machine Learning Python para começar.See the Azure Machine Learning Python getting started guide to get started.

Jupyter NotebooksJupyter Notebooks

Ao executar um servidor de Jupyter Notebook local, é recomendável que você crie um kernel IPython para seu ambiente virtual Python.When running a local Jupyter Notebook server, it's recommended that you create an IPython kernel for your Python virtual environment. Isso ajuda a garantir o comportamento esperado do kernel e da importação de pacote.This helps ensure the expected kernel and package import behavior.

  1. Habilitar kernels IPython específicos do ambienteEnable environment-specific IPython kernels

    conda install notebook ipykernel
    
  2. Crie um kernel para seu ambiente virtual Python.Create a kernel for your Python virtual environment. Certifique-se de substituir <myenv> pelo nome do seu ambiente virtual Python.Make sure to replace <myenv> with the name of your Python virtual environment.

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

Consulte o repositório Azure Machine Learning notebooks para começar a usar os blocos de anotações Azure Machine Learning e Jupyter.See the Azure Machine Learning notebooks repository to get started with Azure Machine Learning and Jupyter Notebooks.

Observação

Um repositório de exemplo voltado para a comunidade pode ser encontrado em https://github.com/Azure/azureml-examples.A community-driven repository of examples can be found at https://github.com/Azure/azureml-examples.

Visual Studio CodeVisual Studio Code

Para usar Visual Studio Code para desenvolvimento:To use Visual Studio Code for development:

  1. Instale o Visual Studio Code.Install Visual Studio Code.
  2. Instale a extensão de Visual Studio Code de Azure Machine Learning (versão prévia).Install the Azure Machine Learning Visual Studio Code extension (preview).

Quando tiver a extensão de Visual Studio Code instalada, você poderá gerenciar seus recursos de Azure Machine Learning, executar e depurar experimentose implantar modelos treinados.Once you have the Visual Studio Code extension installed, you can manage your Azure Machine Learning resources, run and debug experiments, and deploy trained models.

Azure Machine Learning instância de computaçãoAzure Machine Learning compute instance

A instância de computação Azure Machine Learning é uma estação de trabalho do Azure segura e baseada em nuvem que fornece cientistas de dados com um Jupyter Notebook Server, JupyterLab e um ambiente de aprendizado de máquina totalmente gerenciado.The Azure Machine Learning compute instance is a secure, cloud-based Azure workstation that provides data scientists with a Jupyter Notebook server, JupyterLab, and a fully managed machine learning environment.

Não há nada para instalar ou configurar para uma instância de computação.There is nothing to install or configure for a compute instance.

Crie uma a qualquer momento em seu espaço de trabalho Azure Machine Learning.Create one anytime from within your Azure Machine Learning workspace. Forneça apenas um nome e especifique um tipo de VM do Azure.Provide just a name and specify an Azure VM type. Experimente agora com este tutorial: configurar o ambiente e o espaço de trabalho.Try it now with this Tutorial: Setup environment and workspace.

Para saber mais sobre as instâncias de computação, incluindo como instalar pacotes, confira criar e gerenciar uma instância de computação Azure Machine Learning.To learn more about compute instances, including how to install packages, see Create and manage an Azure Machine Learning compute instance.

Dica

Para evitar incorrer em encargos para uma instância de computação não usada, interrompa a instância de computação.To prevent incurring charges for an unused compute instance, stop the compute instance.

Além de um Jupyter Notebook Server e JupyterLab, você pode usar instâncias de computação no recurso de bloco de anotações integrado dentro do Azure Machine Learning Studio.In addition to a Jupyter Notebook server and JupyterLab, you can use compute instances in the integrated notebook feature inside of Azure Machine Learning studio.

Você também pode usar a extensão Azure Machine Learning Visual Studio Code para Configurar uma instância de computação Azure Machine Learning como um servidor Jupyter Notebook remoto.You can also use the Azure Machine Learning Visual Studio Code extension to configure an Azure Machine Learning compute instance as a remote Jupyter Notebook server.

Máquina Virtual de Ciência de DadosData Science Virtual Machine

O VM de Ciência de Dados é uma imagem de VM (máquina virtual) personalizada que você pode usar como um ambiente de desenvolvimento.The Data Science VM is a customized virtual machine (VM) image you can use as a development environment. Ele foi projetado para o trabalho de ciência de dados que é uma ferramenta pré-configurada e software como:It's designed for data science work that's pre-configured tools and software like:

  • Pacotes como TensorFlow, PyTorch, Scikit-learn, XGBoost e o SDK do Azure Machine LearningPackages such as TensorFlow, PyTorch, Scikit-learn, XGBoost, and the Azure Machine Learning SDK
  • Ferramentas de ciência de dados populares como o Spark Standalone e DrillPopular data science tools such as Spark Standalone and Drill
  • Ferramentas do Azure como a CLI do Azure, o AzCopy e o Gerenciador de ArmazenamentoAzure tools such as the Azure CLI, AzCopy, and Storage Explorer
  • IDEs (Ambientes de Desenvolvimento Integrados) como o Visual Studio Code e o PyCharmIntegrated development environments (IDEs) such as Visual Studio Code and PyCharm
  • Servidor do Jupyter NotebookJupyter Notebook Server

Para obter uma lista mais abrangente das ferramentas, consulte o Guia de ferramentas de VM de ciência de dados.For a more comprehensive list of the tools, see the Data Science VM tools guide.

Importante

Se você planeja usar o VM de Ciência de Dados como um destino de computação para seus trabalhos de treinamento ou inferência, somente o Ubuntu tem suporte.If you plan to use the Data Science VM as a compute target for your training or inferencing jobs, only Ubuntu is supported.

Para usar o VM de Ciência de Dados como um ambiente de desenvolvimento:To use the Data Science VM as a development environment:

  1. Crie um VM de Ciência de Dados usando um dos seguintes métodos:Create a Data Science VM using one of the following methods:

    • Use o portal do Azure para criar um DSVM do Ubuntu ou do Windows .Use the Azure portal to create an Ubuntu or Windows DSVM.

    • Crie um VM de ciência de dados usando modelos ARM.Create a Data Science VM using ARM templates.

    • Usar a CLI do AzureUse the Azure CLI

      Para criar um VM de Ciência de Dados Ubuntu, use o seguinte comando:To create an Ubuntu Data Science VM, use the following command:

      # 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 um DSVM do Windows, use o seguinte comando:To create a Windows DSVM, use the following command:

      # 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.Activate the conda environment containing the Azure Machine Learning SDK.

    • Para o Ubuntu VM de Ciência de Dados:For Ubuntu Data Science VM:

      conda activate py36
      
    • Para o Windows VM de Ciência de Dados:For Windows Data Science VM:

      conda activate AzureML
      
  3. Para configurar o VM de Ciência de Dados para usar seu espaço de trabalho do Azure Machine Learning, crie um arquivo de configuração do espaço de trabalho ou use um existente.To configure the Data Science VM to use your Azure Machine Learning workspace, create a workspace configuration file or use an existing one.

Semelhante a ambientes locais, você pode usar Visual Studio Code e a extensão de Visual Studio Code de Azure Machine Learning para interagir com Azure Machine Learning.Similar to local environments, you can use Visual Studio Code and the Azure Machine Learning Visual Studio Code extension to interact with Azure Machine Learning.

Para obter mais informações, consulte Máquinas Virtuais de Ciência de Dados.For more information, see Data Science Virtual Machines.

Próximas etapasNext steps