Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
APLICA-SE A:
Azure Machine Learning SDK v1 para Python
Importante
Este artigo fornece informações sobre como usar o SDK do Azure Machine Learning v1. O SDK v1 foi preterido a partir de 31 de março de 2025. O suporte para ele terminará em 30 de junho de 2026. Você pode instalar e usar o SDK v1 até essa data. Seus fluxos de trabalho existentes usando o SDK v1 continuarão a operar após a data de fim do suporte. No entanto, eles podem ficar expostos a riscos de segurança ou a alterações interruptivas em caso de mudanças na arquitetura do produto.
Recomendamos que você faça a transição para o SDK v2 antes de 30 de junho de 2026. Para obter mais informações sobre o SDK v2, consulte o que é a CLI do Azure Machine Learning e o SDK do Python v2? e a referência do SDK v2.
Este artigo descreve como usar uma imagem personalizada do Docker para treinar modelos com o Azure Machine Learning. Scripts de exemplo mostram como classificar imagens criando uma rede neural convolucional.
O Azure Machine Learning fornece uma imagem base padrão do Docker. Você também pode usar ambientes do Azure Machine Learning para especificar uma imagem base diferente, como uma imagem base do Azure Machine Learning mantida ou sua própria imagem personalizada. As imagens base personalizadas permitem que você gerencie de perto suas dependências e mantenha um controle mais rígido sobre as versões do componente ao executar trabalhos de treinamento.
Pré-requisitos
Para executar o código de exemplo, sua configuração deve incluir um dos seguintes ambientes:
Instância de computação do Azure Machine Learning com um servidor de notebook dedicado pré-carregado com o SDK de Machine Learning e o repositório de Exemplos.
Essa configuração não requer downloads ou outra instalação. Para preparar esse ambiente, consulte Criar recursos para começar.
Servidor Jupyter Notebook. Os recursos a seguir fornecem instruções para ajudá-lo a preparar este ambiente:
- Crie um arquivo de configuração de workspace.
- Instale o SDK do Azure Machine Learning.
- Crie um Registro de Contêiner do Azure ou outro Registro do Docker disponível na Internet.
Configurar um teste de treinamento
A primeira tarefa é configurar seu experimento de treinamento inicializando um workspace do Machine Learning, definindo seu ambiente e configurando um destino de computação.
Inicializar um ambiente de trabalho
O workspace do Azure Machine Learning é o recurso de nível superior para o serviço. Ele fornece um local centralizado para trabalhar com todos os artefatos que você cria. No SDK do Python você pode acessar os artefatos do workspace criando um objeto Workspace.
Conforme necessário, crie um objeto Workspace do arquivo config.json que você criou como pré-requisito.
from azureml.core import Workspace
ws = Workspace.from_config()
Definir seu ambiente
Crie um objeto Environment.
from azureml.core import Environment
fastai_env = Environment("fastai2")
A imagem base especificada no código a seguir dá suporte à biblioteca fast.ai, que permite a transmissão de recursos de aprendizado profundo. Para saber mais, veja o repositório do Docker Hub fast.ai.
Ao usar sua imagem personalizada do Docker, talvez você já tenha seu ambiente python configurado corretamente. Nesse caso, defina a flag user_managed_dependencies para True para usar o ambiente Python integrado da sua imagem personalizada. Por padrão, o Azure Machine Learning cria um ambiente Conda com as dependências que você especificou. O serviço executa o script nesse ambiente em vez de usar as bibliotecas do Python que você instalou na imagem de base.
fastai_env.docker.base_image = "fastdotai/fastai2:latest"
fastai_env.python.user_managed_dependencies = True
Importante
O Azure Machine Learning somente é compatível com imagens do Docker que fornecem o seguinte software:
- Ubuntu 18.04 ou superior
- Conda 4.7.# ou superior
- Python 3.7 ou mais recente
- Um shell compatível com POSIX disponível em /bin/sh é necessário em qualquer imagem de contêiner usada para treinamento
Para obter mais informações sobre como criar e gerenciar ambientes do Azure Machine Learning, veja Criar e usar ambientes de software.
Criar ou anexar um destino de computação
Você precisa criar um destino de computação para treinar seu modelo. Neste tutorial, você cria AmlCompute como seu recurso de computação de treinamento.
A criação de AmlCompute leva alguns minutos. Se o recurso AmlCompute já estiver no seu workspace, este código ignorará o processo de criação.
Como acontece com outros serviços do Azure, há limites em determinados recursos (por exemplo, AmlCompute) associados ao Serviço do Azure Machine Learning. Para saber mais, veja Limites padrão e como solicitar uma cota mais alta.
from azureml.core.compute import ComputeTarget, AmlCompute
from azureml.core.compute_target import ComputeTargetException
# Choose a name for your cluster
cluster_name = "gpu-cluster"
try:
compute_target = ComputeTarget(workspace=ws, name=cluster_name)
print('Found existing compute target.')
except ComputeTargetException:
print('Creating a new compute target...')
compute_config = AmlCompute.provisioning_configuration(vm_size='STANDARD_NC6',
max_nodes=4)
# Create the cluster
compute_target = ComputeTarget.create(ws, cluster_name, compute_config)
compute_target.wait_for_completion(show_output=True)
# Use get_status() to get a detailed status for the current AmlCompute
print(compute_target.get_status().serialize())
Importante
Use SKUs de CPU para qualquer criação de imagem em computação.
Configure sua tarefa de treinamento
Para este tutorial, use o script de treinamento train.py no GitHub. Na prática, você pode usar qualquer script de treinamento personalizado e executá-lo, como está, com o Azure Machine Learning.
Crie um recurso ScriptRunConfig para configurar seu trabalho para ser executado no destino de computaçãodesejado.
from azureml.core import ScriptRunConfig
src = ScriptRunConfig(source_directory='fastai-example',
script='train.py',
compute_target=compute_target,
environment=fastai_env)
Enviar trabalho de treinamento
Quando você envia uma execução de treinamento usando um objeto ScriptRunConfig, o método submit retorna um objeto do tipo ScriptRun. O objeto ScriptRun devolvido fornece acesso programático a informações sobre a execução do treinamento.
from azureml.core import Experiment
run = Experiment(ws,'Tutorial-fastai').submit(src)
run.wait_for_completion(show_output=True)
Aviso
O Azure Machine Learning executa scripts de treinamento copiando todo o diretório de origem. Se você tiver dados confidenciais que não deseja carregar, use um arquivo .ignore ou não o inclua no diretório de origem. Em vez disso, acesse seus dados por meio de um datastore.