Habilitar log em execuções de treinamento de MLEnable logging in ML training runs

O SDK do Python do Azure Machine Learning permite que você registre em log informações em tempo real usando o pacote de log padrão do Python e a funcionalidade específica do SDK.The Azure Machine Learning Python SDK lets you log real-time information using both the default Python logging package and SDK-specific functionality. Você pode fazer logon localmente e enviar os logs para o seu workspace no portal.You can log locally and send logs to your workspace in the portal.

Os logs podem ajudar você a diagnosticar erros e avisos ou acompanhar métricas de desempenho como parâmetros e desempenho do modelo.Logs can help you diagnose errors and warnings, or track performance metrics like parameters and model performance. Neste artigo, você aprenderá a habilitar o log nos seguintes cenários:In this article, you learn how to enable logging in the following scenarios:

  • Sessões de treinamento interativoInteractive training sessions
  • Envio de trabalhos de treinamento por meio do ScriptRunConfigSubmitting training jobs using ScriptRunConfig
  • Configurações do logging nativo do PythonPython native logging settings
  • Log em fontes adicionaisLogging from additional sources

Dica

Este artigo mostra como monitorar o processo de treinamento do modelo.This article shows you how to monitor the model training process. Se você estiver interessado em monitorar o uso de recursos e os eventos do Azure Machine Learning, como cotas, execuções de treinamento concluídas ou implantações de modelo concluídas, confira Monitoramento do Azure Machine Learning.If you're interested in monitoring resource usage and events from Azure Machine learning, such as quotas, completed training runs, or completed model deployments, see Monitoring Azure Machine Learning.

Tipos de dadosData types

Registre em log vários tipos de dados, incluindo valores escalares, listas, tabelas, imagens, diretórios, entre outros.You can log multiple data types including scalar values, lists, tables, images, directories, and more. Para obter mais informações e exemplos de código Python para diferentes tipos de dados, confira a página de referência da Classe de execução.For more information, and Python code examples for different data types, see the Run class reference page.

Sessão de log interativoInteractive logging session

As sessões de log interativo normalmente são usadas em ambientes de notebook.Interactive logging sessions are typically used in notebook environments. O método Experiment.start_logging() inicia uma sessão de log interativo.The method Experiment.start_logging() starts an interactive logging session. Qualquer métrica registrada em log durante a sessão é adicionada ao registro de execução no experimento.Any metrics logged during the session are added to the run record in the experiment. O método run.complete() encerra as sessões e marca a execução como concluída.The method run.complete() ends the sessions and marks the run as completed.

Logs do ScriptRunScriptRun logs

Nesta seção, você aprenderá a adicionar o código de log dentro de execuções criadas durante a configuração do ScriptRunConfig.In this section, you learn how to add logging code inside of runs created when configured with ScriptRunConfig. Use a classe ScriptRunConfig para encapsular scripts e ambientes de execuções repetíveis.You can use the ScriptRunConfig class to encapsulate scripts and environments for repeatable runs. Use também essa opção para mostrar um widget de visual do Jupyter Notebooks para monitoramento.You can also use this option to show a visual Jupyter Notebooks widget for monitoring.

Este exemplo executa uma limpeza de parâmetro em valores alfa e captura os resultados usando o método run.log().This example performs a parameter sweep over alpha values and captures the results using the run.log() method.

  1. Crie um script de treinamento que inclua a lógica de log, train.py.Create a training script that includes the logging logic, train.py.

    ! Code-Python!code-python

  2. Envie o script train.py para execução em um ambiente gerenciado pelo usuário.Submit the train.py script to run in a user-managed environment. Toda a pasta de script é enviada para treinamento.The entire script folder is submitted for training.

    ! Notebook-Python ! Notebook-Python!notebook-python !notebook-python

    O parâmetro show_output ativa o log detalhado, o que permite visualizar os detalhes do processo de treinamento, bem como as informações sobre os recursos remotos ou os destinos de computação.The show_output parameter turns on verbose logging, which lets you see details from the training process as well as information about any remote resources or compute targets. Use o código a seguir para ativar o log detalhado ao enviar o experimento.Use the following code to turn on verbose logging when you submit the experiment.

run = exp.submit(src, show_output=True)

É possível usar o mesmo parâmetro na função wait_for_completion na execução resultante.You can also use the same parameter in the wait_for_completion function on the resulting run.

run.wait_for_completion(show_output=True)

Log nativo do PythonNative Python logging

Alguns logs do SDK poderão conter um erro que instrui você a definir o nível de registros em log como DEBUG.Some logs in the SDK may contain an error that instructs you to set the logging level to DEBUG. Para definir o nível de log, adicione o seguinte código ao script.To set the logging level, add the following code to your script.

import logging
logging.basicConfig(level=logging.DEBUG)

Fontes de log adicionaisAdditional logging sources

O Azure Machine Learning também pode registrar em log informações de outras fontes durante o treinamento, como execuções de machine learning automatizado ou contêineres do Docker que executam os trabalhos.Azure Machine Learning can also log information from other sources during training, such as automated machine learning runs, or Docker containers that run the jobs. Esses logs não são documentados, mas se você enfrentar problemas e entrar em contato com o Suporte da Microsoft, eles poderão usar esses logs na solução de problemas.These logs aren't documented, but if you encounter problems and contact Microsoft support, they may be able to use these logs during troubleshooting.

Para obter informações sobre como registrar métricas em log no designer do Azure Machine Learning, confira Como registrar métricas em log no designerFor information on logging metrics in Azure Machine Learning designer, see How to log metrics in the designer

Blocos de anotações de exemploExample notebooks

Os seguintes blocos de anotações demonstram conceitos neste artigo:The following notebooks demonstrate concepts in this article:

! INCLUIR AML-clone-in-Azure-Notebook!INCLUDE aml-clone-in-azure-notebook

Próximas etapasNext steps

Confira estes artigos para saber mais sobre como usar o Azure Machine Learning:See these articles to learn more on how to use Azure Machine Learning: