Compartilhar via


Tutorial: Introdução a um script do Python no Azure Machine Learning (SDK v1, parte 1 de 3)

APLICA-SE A:azureml do SDK do Python v1

Neste tutorial, você executará seu primeiro script do Python na nuvem com o Azure Machine Learning. Este tutorial é a primeira parte de uma série com duas partes.

Este tutorial evita a complexidade de treinar um modelo de machine learning. Você executará um script Python "Olá, Mundo" na nuvem. Você aprenderá como um script de controle é usado para configurar e criar uma execução no Azure Machine Learning.

Neste tutorial, você irá:

  • Criar e executar um script "Olá, Mundo!" do Python.
  • Criar um script de controle do Python para enviar "Olá, Mundo!" para o Azure Machine Learning.
  • Entender os conceitos do Azure Machine Learning no script de controle.
  • Enviar e executar o script "Olá, Mundo!".
  • Exibe a saída do código na nuvem.

Pré-requisitos

Criar e executar um script do Python

Este tutorial usa a instância de computação como seu computador de desenvolvimento. Primeiro, crie algumas pastas e o script:

  1. Entre no Estúdio do Azure Machine Learning e selecione seu workspace, se solicitado.
  2. À esquerda, selecione Notebooks
  3. Na barra de ferramentas Arquivos, selecione + e escolha Criar pasta. Captura de tela que mostra a criação de uma ferramenta de pasta na barra de ferramentas.
  4. Dê à pasta o nome get-started.
  5. À direita do nome da pasta, use para criar outra pasta em get-started. Captura de tela que mostra a criação de um menu de subpasta.
  6. Dê à nova pasta o nome src. Use o link Editar local se o local do arquivo não estiver correto.
  7. À direita da pasta src, use as para criar um arquivo na pasta src.
  8. Dê ao arquivo o nome hello.py. Alterne o Tipo de arquivo para Python ( .py)*.

Copie este código para o arquivo:

# src/hello.py
print("Hello world!")

A estrutura de pastas do projeto agora terá a seguinte aparência:

A estrutura de pastas mostra hello.py na subpasta src.

Testar o script

Você pode executar o código localmente, o que, nesse caso, significa na instância de computação. A execução local do código traz o benefício da depuração interativa do código.

Se você interrompeu a instância de computação anteriormente, inicie-a agora com a ferramenta Iniciar computação à direita da lista suspensa de computação. Aguarde cerca de um minuto para que o estado mude para Em execução.

Captura de tela que mostra como iniciar a instância de computação se ela foi interrompida

Selecione Salvar e executar script no terminal para executar o script.

Captura de tela que mostra Salvar e executar script na ferramenta de terminal na barra de ferramentas

Você verá a saída do script na janela do terminal que é aberta. Feche a guia e selecione Terminar para fechar a sessão.

Criar um script de controle

Um script de controle permite que você execute o script hello.py em diferentes recursos de computação. Use o script de controle para controlar como e em que local o código de machine learning é executado.

Selecione as no final da pasta get-started para criar um arquivo. Crie um arquivo Python chamado run-hello.py e copie/cole o seguinte código nesse arquivo:

# get-started/run-hello.py
from azureml.core import Workspace, Experiment, Environment, ScriptRunConfig

ws = Workspace.from_config()
experiment = Experiment(workspace=ws, name='day1-experiment-hello')

config = ScriptRunConfig(source_directory='./src', script='hello.py', compute_target='cpu-cluster')

run = experiment.submit(config)
aml_url = run.get_portal_url()
print(aml_url)

Dica

Se você usou outro nome quando criou o cluster de cálculo, ajuste o nome no código compute_target='cpu-cluster' também.

Compreender o código

Aqui está uma descrição de como o script de controle funciona:

ws = Workspace.from_config()

O workspace conecta-se ao workspace do Azure Machine Learning, de modo que você possa se comunicar com seus recursos do Azure Machine Learning.

experiment = Experiment( ... )

O experimento oferece uma forma simples de organizar vários trabalhos com um único nome. Mais tarde, você pode ver como os experimentos facilitam a comparação de métricas entre dezenas de trabalhos.

config = ScriptRunConfig( ... )

ScriptRunConfig encapsula seu código hello.py e o passa para seu workspace. Como o nome sugere, você pode usar essa classe para configurar como deseja que seu script seja executado no Azure Machine Learning. Ele também especifica em qual destino de computação o script é executado. Nesse código, o destino é o cluster de cálculo criado no tutorial de configuração.

run = experiment.submit(config)

Envia o seu script. Esse envio é chamado de execução. Na v2, ele foi renomeado para um trabalho. Uma execução/trabalho encapsula uma única execução do seu código. Use um trabalho para monitorar o progresso do script, capturar a saída, analisar os resultados, visualizar métricas, entre outros.

aml_url = run.get_portal_url()

O objeto run fornece um identificador na execução do seu código. Monitore seu progresso do estúdio do Azure Machine Learning com a URL que imprime do script Python.

Enviar e executar seu código na nuvem

  1. Selecione Salvar e executar script no terminal para executar o script de controle que, por sua vez, executa hello.py no cluster de cálculo criado no tutorial de configuração.

  2. No terminal, talvez você precise entrar nele para se autenticar. Copie o código e siga o link para concluir esta etapa.

  3. Depois de autenticado, você verá um link no terminal. Selecione o link para exibir o trabalho.

Monitorar o código na nuvem usando o estúdio

A saída do script contém um link para o estúdio que tem esta aparência: https://ml.azure.com/experiments/hello-world/runs/<run-id>?wsid=/subscriptions/<subscription-id>/resourcegroups/<resource-group>/workspaces/<workspace-name>.

Siga o link. No início, você verá um status de Na fila ou Preparação. A primeira execução leva de 5 a 10 minutos para ser concluída. Isso ocorrerá devido ao seguinte:

  • Uma imagem do Docker será criada na nuvem
  • O cluster de cálculo será redimensionado de 0 para 1 nó
  • A imagem do Docker será baixada na computação.

Os trabalhos subsequentes são mais rápidos (aproximadamente 15 segundos) à medida que a imagem do Docker é armazenada em cache na computação. Você pode testar isso reenviando o código abaixo após a conclusão do primeiro trabalho.

Aguarde cerca de 10 minutos. Você verá uma mensagem informando que o trabalho foi concluído. Em seguida, use Atualizar para ver o status mudar para Concluído. Quando o trabalho for concluído, vá para a guia Saídas + logs. Lá, você pode ver um arquivo std_log.txt na pasta user_logs. A saída do script está neste arquivo.

As pastas azureml-logs e system-logs contêm arquivos que podem ser úteis quando você está depurando trabalhos remotos na nuvem.

Próxima etapa

Neste tutorial, você pegou um script "Olá, Mundo!" simples e o executou no Azure. Você viu como se conectar ao seu Workspace do Azure Machine Learning, criar um experimento e enviar o código hello.py para a nuvem.

No próximo tutorial, você vai aprimorar esses aprendizados executando algo mais interessante do que print("Hello world!").

Observação

Caso deseje concluir a série de tutoriais aqui e não progredir para a próxima etapa, lembre-se de limpar seus recursos.