Configurar um ambiente de desenvolvimento do Python para o Azure Machine Learning (v1)
APLICA-SE A: SDK azureml para Pythonv1
Saiba como configurar um ambiente de desenvolvimento do Python para o Azure Machine Learning.
A tabela a seguir mostra cada ambiente de desenvolvimento abordado neste artigo, com os prós e contras.
Ambiente | Vantagens | Desvantagens |
---|---|---|
Ambiente local | Controle total de suas dependências e de seu ambiente de desenvolvimento. Execute com qualquer ferramenta de compilação, ambiente ou IDE de sua escolha. | Leva mais tempo para começar. Os pacotes SDK necessários devem ser instalados e um ambiente também deve ser instalado se você ainda não tiver um. |
A DSVM (Máquina Virtual de Ciência de Dados) | Semelhante à instância de computação baseada em nuvem (o Python e o SDK são pré-instalados), mas com outras ferramentas populares de ciência de dados e aprendizado de máquina pré-instaladas. Fácil de 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 em nuvem. |
Instância de computação do Azure Machine Learning | A maneira mais fácil para começar. O SDK completo já está instalado na VM do seu workspace, e os tutoriais do notebook são previamente clonados e prontos para serem executados. | Falta de controle de suas dependências e de seu ambiente de desenvolvimento. Custo extra incorrido para a VM do Linux (a VM pode ser interrompida quando não estiver em uso para evitar encargos). Consulte detalhes de preço. |
Azure Databricks | Ideal para executar fluxos de trabalho de aprendizado de máquina com uso intensivo em larga escala na plataforma Apache Spark escalonável. | Um excesso para machine learning experimental, ou fluxos de trabalho ou experimentos de escala menor. Custo extra incorrido para o Azure Databricks. Consulte detalhes de preço. |
Este artigo também fornece dicas de uso para as seguintes ferramentas:
Jupyter Notebooks: se você já está usando Jupyter Notebooks, o SDK tem alguns recursos extra que você deve instalar.
Visual Studio Code: se você usar o Visual Studio Code, a extensão do 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.
Pré-requisitos
- Workspace do Azure Machine Learning. Se você não tiver um, poderá criar um workspace do Azure Machine Learning por meio do portal do Azure, da CLI do Azure e de modelos do Azure Resource Manager.
Somente local e DSVM: criar um arquivo de configuração do workspace
O arquivo de configuração do workspace é um arquivo JSON que informa ao SDK como se comunicar com o workspace do Azure Machine Learning. O arquivo é nomeado config.json e tem o seguinte formato:
{
"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. Ele pode estar no mesmo diretório, um subdiretório denominado .azureml
ou em um diretório pai.
Para usar esse arquivo de seu código, use o método Workspace.from_config
. Esse código carrega as informações do arquivo e se conecta ao seu workspace.
Crie um arquivo de configuração do workspace em um dos seguintes métodos:
Portal do Azure
Baixar o arquivo: no portal do Azure, selecione Baixar config.json da seção Visão geral do workspace.
SDK do Python do Azure Machine Learning
Crie um script para se conectar ao seu workspace do Azure Machine Learning e use o método
write_config
para gerar o arquivo e salvá-lo como .azureml/config.json. Certifique-se de substituirsubscription_id
,resource_group
eworkspace_name
por valores próprios.APLICA-SE A: SDK do Python 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 o ambiente de VM remota
Você pode configurar um ambiente em um computador local ou máquina virtual remota, como uma instância de computação do Azure Machine Learning ou VM de Ciência de Dados.
Para configurar um ambiente de desenvolvimento local ou VM remota:
Crie um ambiente virtual do Pythont (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.
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. Para contornar esse problema, use o comando
bash
para iniciar um novo shell do Bash e executar os comandos nele.Ative seu ambiente virtual do Python criado recentemente.
Instalar o SDK de Python do Azure Machine Learning.
Para configurar o seu ambiente local para usar o workspace do Azure Machine Learning, crie um arquivo de configuração do workspace ou use um existente.
Agora que o seu ambiente local está configurado, você está pronto para começar a trabalhar com o Azure Machine Learning. Consulte o Guia de introdução ao Python do Azure Machine Learning para começar.
Jupyter Notebooks
Ao executar um servidor de Jupyter Notebook local, é recomendável que você crie um kernel IPython para seu ambiente virtual Python. Isso ajuda a garantir o comportamento esperado do kernel e de importação de pacote.
Habilitar os kernels IPython específicos do ambiente
conda install notebook ipykernel
Crie um kernel para seu ambiente virtual do Python. Certifique-se de substituir
<myenv>
pelo nome do seu ambiente virtual do Python.ipython kernel install --user --name <myenv> --display-name "Python (myenv)"
Iniciar o servidor do Jupyter Notebook
Confira o repositório de notebooks do Azure Machine Learning para começar a usar o Azure Machine Learning e Jupyter Notebooks. Consulte também o repositório orientado pela comunidade, AzureML-Examples.
Visual Studio Code
Para usar o Visual Studio Code para desenvolvimento:
Instale o Visual Studio Code.
Instale a extensão do Azure Machine Learning para Visual Studio Code (versão prévia).
Importante
Esse recurso está atualmente em visualização pública. Essa versão prévia é fornecida sem um contrato de nível de serviço e não é recomendada para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou podem ter restrição de recursos.
Para obter mais informações, consulte Termos de Uso Complementares de Versões Prévias do Microsoft Azure.
Quando tiver a extensão do Visual Studio Code instalada, use-a para:
- Gerenciar seus recursos do Azure Machine Learning
- Iniciar Visual Studio Code conectado remotamente a uma instância de computação (versão prévia)
- Executar e depurar experimentos
- Implantar modelos treinados (CLI v2).
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 em nuvem que fornece aos cientistas de dados com um servidor do Jupyter Notebook, JupyterLab e um ambiente de aprendizado de máquina totalmente gerenciado.
Não há nada a instalar ou configurar para uma instância de computação.
Crie uma a qualquer momento em seu workspace 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 as instâncias de computação, inclusive como instalar pacotes, confira Criar e gerenciar uma instância de computação do Azure Machine Learning.
Dica
Para evitar incorrer em encargos para uma instância de computação não usada, interrompa a instância de computação. Ou habilite o desligamento por ociosidade para a instância de computação.
Além de um servidor Jupyter Notebook e JupyterLab, você pode usar instâncias de computação no recurso de bloco de anotações integrado dentro do Estúdio do Azure Machine Learning.
Você também pode usar a extensão Azure Machine Learning do Visual Studio Code para se conectar a uma instância de computação remota usando o VS Code.
Máquina Virtual de Ciência de Dados
A VM de Ciência de Dados é uma imagem de VM (máquina virtual) personalizada que você pode usar como um ambiente de desenvolvimento. Ela foi projetada para trabalhos de ciência de dados pré-configurados de ferramentas e software como:
- Pacotes como TensorFlow, PyTorch, Scikit-learn, XGBoost e o SDK do Azure Machine Learning
- Ferramentas de ciência de dados populares como o Spark Standalone e Drill
- Ferramentas do Azure como a CLI do Azure, o AzCopy e o Gerenciador de Armazenamento
- IDEs (Ambientes de Desenvolvimento Integrados) como o Visual Studio Code e o PyCharm
- Servidor do Jupyter Notebook
Para obter uma lista mais abrangente das ferramentas, confira o Guia de ferramentas de VM de Ciência de Dados.
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.
Para usar a VM de Ciência de Dados como um ambiente de desenvolvimento:
Crie uma VM de Ciência de Dados usando um dos seguintes métodos:
Use o portal do Azure para criar uma DSVM do Ubuntu ou do Windows .
Usar a CLI do Azure
Para criar uma VM de Ciência de Dados do Ubuntu, use o comando a seguir:
# 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, use o comando a seguir:
# 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
Ative o ambiente do Conda que contém o SDK do Azure Machine Learning.
Para uma VM de Ciência de Dados do Ubuntu:
conda activate py36
Para uma VM de Ciência de Dados do Windows:
conda activate AzureML
Para configurar uma VM de Ciência de Dados para usar o workspace do Azure Machine Learning, crie um arquivo de configuração do workspace ou use um existente.
Semelhante a ambientes locais, você pode usar o Visual Studio Code e a extensão de Visual Studio Code de Azure Machine Learning para interagir com o Azure Machine Learning.
Para obter mais informações, consulte Máquinas Virtuais de Ciência de Dados.
Próximas etapas
- Treine e implante um modelo no Azure Machine Learning com o conjunto de dados MNIST.
- Confira a referência do SDK do Azure Machine Learning para Python.