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 nativelogging
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.
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
.Envie o script
train.py
para execução em um ambiente gerenciado pelo usuário.Submit thetrain.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.Theshow_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:
- how-to-use-azureml/training/train-on-localhow-to-use-azureml/training/train-on-local
- how-to-use-azureml/track-and-monitor-experiments/logging-apihow-to-use-azureml/track-and-monitor-experiments/logging-api
! 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:
Saiba como registrar métricas em log no designer do Azure Machine Learning.Learn how to log metrics in Azure Machine Learning designer.
Veja um exemplo de como registrar o melhor modelo e implantá-lo no tutorial Treinar um modelo de classificação de imagem com o Azure Machine Learning.See an example of how to register the best model and deploy it in the tutorial, Train an image classification model with Azure Machine Learning.