Run Classe
Define a classe base para todas as execuções de experimento do Azure Machine Learning.
Uma execução representa uma única avaliação de um experimento. Execuções são usadas para monitorar a execução assíncrona de uma avaliação, registrar métricas e armazenar saída dessa avaliação, bem como analisar resultados e acessar artefatos gerados por ela.
Os objetos de execução são criados quando você envia um script para treinar um modelo em vários cenários diferentes no Azure Machine Learning, incluindo execuções de HyperDrive, execuções de Pipeline e execuções de AutoML. Um objeto de Execução também é criado quando você submit ou start_logging com a classe Experiment.
Para começar com experimentos e execuções, confira
Inicialize o objeto Run.
- Herança
-
azureml._run_impl.run_base._RunBaseRun
Construtor
Run(experiment, run_id, outputs=None, **kwargs)
Parâmetros
Nome | Description |
---|---|
experiment
Obrigatório
|
O experimento que o contém. |
run_id
Obrigatório
|
A ID da execução. |
outputs
|
As saídas a serem rastreadas. Valor padrão: None
|
_run_dto
Obrigatório
|
<xref:azureml._restclient.models.run_dto.RunDto>
Somente para uso interno. |
kwargs
Obrigatório
|
Um dicionário de parâmetros de configuração adicionais. |
experiment
Obrigatório
|
O experimento que o contém. |
run_id
Obrigatório
|
A ID da execução. |
outputs
Obrigatório
|
As saídas a serem rastreadas. |
kwargs
Obrigatório
|
Um dicionário de parâmetros de configuração adicionais. |
Comentários
Uma execução representa uma única avaliação de um experimento. Um objeto de Execução é usado para monitorar a execução assíncrona de uma avaliação, registrar métricas e armazenar saída dessa avaliação, bem como analisar resultados e acessar artefatos gerados por ela.
A execução é usada dentro do código de experimentação para registrar métricas e artefatos no serviço de Histórico de Execuções.
A execução é usada fora de seus experimentos para monitorar o progresso e consultar e analisar as métricas e os resultados que foram gerados.
A funcionalidade da Execução inclui:
Armazenar e recuperar métricas e dados
Carregar e baixar arquivos
Usar marcas e a hierarquia de filhos para facilitar a pesquisa de execuções anteriores
Registrar arquivos de modelo armazenados como um modelo que pode ser operacionalizado
Armazenar, modificar e recuperar propriedades de uma execução
Carregar a execução atual de um ambiente remoto com o método get_context
Fazer instantâneo de forma eficiente de um arquivo ou diretório para reprodutibilidade
Essa classe funciona com o Experiment nestes cenários:
Criar uma execução executando o código usando submit
Criar uma execução interativamente em um notebook usando start_logging
Registrar métricas e carregar artefatos no experimento, como ao usar log
Ler métricas e baixar artefatos ao analisar resultados experimentais, como ao usar get_metrics
Para enviar uma execução, crie um objeto de configuração que descreva como o experimento é executado. Veja os seguintes exemplos dos diferentes objetos de configuração que você pode usar:
azureml.train.automl.automlconfig.AutoMLConfig
azureml.train.hyperdrive.HyperDriveConfig
azureml.pipeline.core.Pipeline
azureml.pipeline.core.PublishedPipeline
azureml.pipeline.core.PipelineEndpoint
As métricas a seguir podem ser adicionadas a uma execução durante o treinamento de um experimento.
Escalar
Registrar um valor numérico ou de cadeia de caracteres para a execução com o nome fornecido usando log. Registrar uma métrica em log para uma execução faz essa métrica ser armazenada no registro de execução no experimento. Você pode registrar em log a mesma métrica várias vezes dentro de uma execução, sendo o resultado considerado um vetor dessa métrica.
Exemplo:
run.log("accuracy", 0.95)
Lista
Registrar uma lista de valores para a execução com o nome fornecido usando log_list.
Exemplo:
run.log_list("accuracies", [0.6, 0.7, 0.87])
Linha
O uso de log_row cria uma métrica com várias colunas, conforme descrito em
kwargs
. Cada parâmetro nomeado gera uma coluna com o valor especificado.log_row
pode ser chamado uma vez para registrar em log uma tupla arbitrária ou várias vezes em loop para gerar uma tabela completa.Exemplo:
run.log_row("Y over X", x=1, y=0.4)
Tabela
Registrar um objeto de dicionário na execução com o nome fornecido usando log_table.
Exemplo:
run.log_table("Y over X", {"x":[1, 2, 3], "y":[0.6, 0.7, 0.89]})
Image
Faça logon uma imagem ao registro de execução. Use log_image para registrar um arquivo de imagem ou um gráfico matplotlib para a execução. Essas imagens serão visíveis e comparáveis no registro de execução.
Exemplo:
run.log_image("ROC", path)
Métodos
add_properties |
Adicionar propriedades imutáveis à execução. As marcas e propriedades (ambas dict[str, str]) diferem em sua imutabilidade. As propriedades são imutáveis e, portanto, criam um registro permanente para fins de auditoria. As marcas são mutáveis. Para obter mais informações sobre como trabalhar com marcas e propriedades, consulte Marcas e localizar execuções. |
add_type_provider |
Gancho de extensibilidade para tipos de Execução personalizados armazenados no Histórico de Execuções. |
cancel |
Marcar a execução como cancelada. Se houver um trabalho associado com um campo cancel_uri definido, termine esse trabalho também. |
child_run |
Criar uma execução filho. |
clean |
Remover os arquivos correspondentes para a execução atual no destino especificado na configuração de execução. |
complete |
Aguardar a fila de tarefas ser processada. Em seguida, a execução é marcada como concluída. Isso normalmente é usado em cenários de bloco de anotações interativo. |
create_children |
Criar uma ou várias execuções filho. |
download_file |
Baixar um arquivo associado do armazenamento. |
download_files |
Baixar arquivos de um determinado prefixo de armazenamento (nome da pasta) ou do contêiner inteiro se o prefixo não for especificado. |
fail |
Marcar a execução como falha. Se desejar, defina a propriedade de Erro da execução com uma mensagem ou exceção passada para |
flush |
Aguardar a fila de tarefas ser processada. |
get |
Obter a execução para este workspace com sua ID de execução. |
get_all_logs |
Baixar todos os logs para a execução em um diretório. |
get_children |
Obter todos os filhos para a execução atual selecionada por filtros especificados. |
get_context |
Retornar o contexto de serviço atual. Use este método para recuperar o contexto de serviço atual para registrar métricas em log e carregar arquivos. Se |
get_detailed_status |
Buscar o status mais recente da execução. Se o status da execução for "Queued", ele mostrará os detalhes. |
get_details |
Obter a definição, as informações de status, os arquivos de log atuais e outros detalhes da execução. |
get_details_with_logs |
Retornar o status de execução, incluindo o conteúdo do arquivo de log. |
get_environment |
Obter a definição de ambiente que foi usada por essa execução. |
get_file_names |
Listar os arquivos que são armazenados em associação com a execução. |
get_metrics |
Recuperar as métricas registradas para a execução. Se |
get_properties |
Buscar as propriedades mais recentes da execução do serviço. |
get_secret |
Obter o valor do segredo no contexto de uma execução. Obter o valor do segredo para o nome fornecido. O nome do segredo faz referência a um valor armazenado no Azure Key Vault associado ao workspace. Para obter um exemplo de como trabalhar com segredos, consulte Usar segredos em execuções de treinamento. |
get_secrets |
Obter os valores de segredos para uma determinada lista de nomes de segredos. Obter um dicionário de segredos encontrados e não encontrados para a lista de nomes fornecidos. Cada nome do segredo faz referência a um valor armazenado no Azure Key Vault associado ao workspace. Para obter um exemplo de como trabalhar com segredos, consulte Usar segredos em execuções de treinamento. |
get_snapshot_id |
Obter a ID do instantâneo mais recente. |
get_status |
Buscar o status mais recente da execução. Os valores comuns retornados incluem "Running", "Completed" e "Failed". |
get_submitted_run |
PRETERIDO. Use get_context. Obter a execução enviada para este experimento. |
get_tags |
Buscar o conjunto mais recente de marcas mutáveis na execução do serviço. |
list |
Obter uma lista de execuções em um experimento especificado por filtros opcionais. |
list_by_compute |
Obter uma lista de execuções em uma computação especificada por filtros opcionais. |
log |
Registre em log um valor de métrica para a execução com o nome fornecido. |
log_accuracy_table |
Registrar uma tabela de precisão no armazenamento de artefatos. A métrica de tabela de precisão é uma métrica multiuso não escalar que pode ser usada para produzir vários tipos de gráficos de linhas que variam continuamente no espaço de probabilidades previstas. Exemplos desses gráficos são ROC, recall de precisão e curvas de desempenho. O cálculo da tabela de precisão é semelhante ao cálculo de uma curva ROC. Uma curva ROC armazena taxas de verdadeiro positivo e taxas de falso positivo em muitos limites de probabilidade diferentes. A tabela de precisão armazena o número bruto de verdadeiros positivos, falsos positivos, verdadeiros negativos e falsos negativos em muitos limites de probabilidade. Há dois métodos usados para selecionar limites: "probabilidade" e "percentil". Eles diferem em como fazem a amostra do espaço de probabilidades previstas. Os limites de probabilidade são limites de espaço uniforme entre 0 e 1. Se NUM_POINTS for 5, os limites de probabilidade serão [0.0, 0.25, 0.5, 0.75, 1.0]. Os limites de percentil são espaçados de acordo com a distribuição das probabilidades previstas. Cada limite corresponde ao percentil dos dados em um limite de probabilidade. Por exemplo, se NUM_POINTS for 5, o primeiro limite será no 0º percentil, o segundo no 25º percentil, o terceiro no 50º e assim por diante. As tabelas de probabilidade e as tabelas de percentil são listas 3D em que a primeira dimensão representa o rótulo de classe; a segunda dimensão representa a amostra em um limite (escalas com NUM_POINTS); e a terceira dimensão sempre tem 4 valores: TP, FP, TN, FN e sempre nessa ordem. Os valores de confusão (TP, FP, TN, FN) são computados com a estratégia one vs. rest. Veja o link a seguir para obter mais detalhes: https://en.wikipedia.org/wiki/Multiclass_classification N = nº de exemplos no conjunto de dados de validação (200 no exemplo) M = nº de limites = nº de amostras retiradas do espaço de probabilidade (5 no exemplo) C = nº de classes no conjunto de dados completo (3 no exemplo) Algumas invariáveis da tabela de precisão:
Observação: M pode ser qualquer valor e controla a resolução dos gráficos Isso é independente do conjuntos de dados, é definido ao calcular métricas e compensa o espaço de armazenamento, o tempo de computação e a resolução. Os rótulos de classe devem ser cadeias de caracteres; valores de confusão devem ser inteiros; e os limites devem ser floats. |
log_confusion_matrix |
Registrar uma matriz de confusão no armazenamento de artefatos. Isso registra um wrapper em torno da matriz de confusão sklearn. Os dados de métrica contêm os rótulos de classe e uma lista 2D para a própria matriz. Confira o link a seguir para obter mais detalhes sobre como a métrica é computada: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html |
log_image |
Registre em log uma métrica de imagem para o registro de execução. |
log_list |
Registrar uma lista de valores de métrica para a execução com o nome fornecido. |
log_predictions |
Registrar previsões no armazenamento de artefatos. Isso registra uma pontuação de métrica que pode ser usada para comparar as distribuições de valores de destino verdadeiros com a distribuição de valores previstos para uma tarefa de regressão. As previsões são compartimentadas, e os desvios padrão são calculados para barras de erro em um gráfico de linhas. |
log_residuals |
Registrar resíduos no armazenamento de artefatos. Isso registra os dados necessários para exibir um histograma de resíduos para uma tarefa de regressão. Os resíduos são previstos – reais. Deve haver uma borda a mais do que o número de contagens. Consulte a documentação do histograma numpy para ver exemplos de uso de contagens e bordas para representar um histograma. https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html |
log_row |
Registrar uma métrica de linha para a execução com o nome fornecido. |
log_table |
Registrar em log uma métrica de tabela para a execução com o nome fornecido. |
register_model |
Registrar um modelo para operacionalização. |
remove_tags |
Excluir a lista de marcas mutáveis nesta execução. |
restore_snapshot |
Restaurar um instantâneo como um arquivo ZIP. Retorna o caminho para o ZIP. |
set_tags |
Adicionar ou modificar um conjunto de marcas na execução. As marcas não passadas no dicionário são deixadas inalteradas. Você também pode adicionar marcações de cadeia de caracteres simples. Quando essas marcas aparecem no dicionário de marcas como chaves, elas têm um valor None. Para obter mais informações, consulte Marcas e localizar execuções. |
start |
Marcar a execução como iniciada. Normalmente, isso é usado em cenários avançados quando a execução foi criada por outro ator. |
submit_child |
Enviar um experimento e retornar a execução filho ativa. |
tag |
Marque a execução com uma chave de cadeia de caracteres e um valor de cadeia de caracteres opcional. |
take_snapshot |
Salvar um instantâneo da pasta ou do arquivo de entrada. |
upload_file |
Carregar um arquivo para o registro de execução. |
upload_files |
Carregar arquivos para o registro de execução. |
upload_folder |
Carregar a pasta especificada para o nome de prefixo fornecido. |
wait_for_completion |
Aguardar a conclusão desta execução. Retorna o objeto de status após a espera. |
add_properties
Adicionar propriedades imutáveis à execução.
As marcas e propriedades (ambas dict[str, str]) diferem em sua imutabilidade. As propriedades são imutáveis e, portanto, criam um registro permanente para fins de auditoria. As marcas são mutáveis. Para obter mais informações sobre como trabalhar com marcas e propriedades, consulte Marcas e localizar execuções.
add_properties(properties)
Parâmetros
Nome | Description |
---|---|
properties
Obrigatório
|
As propriedades ocultas armazenadas no objeto de execução. |
add_type_provider
Gancho de extensibilidade para tipos de Execução personalizados armazenados no Histórico de Execuções.
static add_type_provider(runtype, run_factory)
Parâmetros
Nome | Description |
---|---|
runtype
Obrigatório
|
O valor de Run.type para o qual o alocador será invocado. Os exemplos incluem 'hyperdrive' ou 'azureml.scriptrun', mas podem ser estendidos com tipos personalizados. |
run_factory
Obrigatório
|
<xref:function>
Uma função com assinatura (Experiment, RunDto) -> Run a ser invocada quando a listagem é executada. |
cancel
Marcar a execução como cancelada.
Se houver um trabalho associado com um campo cancel_uri definido, termine esse trabalho também.
cancel()
child_run
Criar uma execução filho.
child_run(name=None, run_id=None, outputs=None)
Parâmetros
Nome | Description |
---|---|
name
|
Um nome opcional para a execução filho, normalmente especificada para uma "parte". Valor padrão: None
|
run_id
|
Uma ID de execução opcional para o filho, caso contrário, ela será gerada automaticamente. Normalmente, esse parâmetro não está definido. Valor padrão: None
|
outputs
|
Diretório de saídas opcional para rastrear o filho. Valor padrão: None
|
Retornos
Tipo | Description |
---|---|
A execução filho. |
Comentários
Isso é usado para isolar parte de uma execução em uma subseção. Isso pode ser feito para "partes" identificáveis de uma execução que são interessantes para separar ou capturar métricas independentes em uma interação de um subprocesso.
Se um diretório de saída for definido para a execução filho, o conteúdo desse diretório será carregado para o registro da execução filho quando o filho for concluído.
clean
Remover os arquivos correspondentes para a execução atual no destino especificado na configuração de execução.
clean()
Retornos
Tipo | Description |
---|---|
Uma lista de arquivos excluídos. |
complete
Aguardar a fila de tarefas ser processada.
Em seguida, a execução é marcada como concluída. Isso normalmente é usado em cenários de bloco de anotações interativo.
complete(_set_status=True)
Parâmetros
Nome | Description |
---|---|
_set_status
|
Indica se o evento de status deve ser enviado para rastreamento. Valor padrão: True
|
create_children
Criar uma ou várias execuções filho.
create_children(count=None, tag_key=None, tag_values=None)
Parâmetros
Nome | Description |
---|---|
count
|
Um número opcional de filhos a serem criados. Valor padrão: None
|
tag_key
|
Uma chave opcional para preencher a entrada de Marcas em todos os filhos criados. Valor padrão: None
|
tag_Values
Obrigatório
|
Uma lista opcional de valores que serão mapeados para as Marcas [tag_key] na lista de execuções criadas. |
tag_values
|
Valor padrão: None
|
Retornos
Tipo | Description |
---|---|
A lista de execuções filho. |
Comentários
O parâmetro count
OU os parâmetros tag_key
E tag_values
devem ser especificados.
download_file
Baixar um arquivo associado do armazenamento.
download_file(name, output_file_path=None, _validate_checksum=False)
Parâmetros
Nome | Description |
---|---|
name
Obrigatório
|
O nome do artefato de compilação a ser baixado. |
output_file_path
Obrigatório
|
O caminho local onde armazenar o artefato. |
download_files
Baixar arquivos de um determinado prefixo de armazenamento (nome da pasta) ou do contêiner inteiro se o prefixo não for especificado.
download_files(prefix=None, output_directory=None, output_paths=None, batch_size=100, append_prefix=True, timeout_seconds=None)
Parâmetros
Nome | Description |
---|---|
prefix
Obrigatório
|
O prefixo filepath dentro do contêiner do qual baixar todos os artefatos. |
output_directory
Obrigatório
|
Um diretório opcional que todos os caminhos de artefato usam como um prefixo. |
output_paths
Obrigatório
|
[str]
filepaths opcionais nos quais armazenar os artefatos baixados. Deve ser exclusivo e corresponder ao tamanho dos caminhos. |
batch_size
Obrigatório
|
O número de arquivos a serem baixados por lote. O padrão é 100 arquivos. |
append_prefix
Obrigatório
|
Um sinalizador opcional para acrescentar o prefixo especificado do caminho do arquivo de saída final. Se for Falso, o prefixo será removido do caminho do arquivo de saída. |
timeout_seconds
Obrigatório
|
O tempo limite para baixar arquivos. |
fail
Marcar a execução como falha.
Se desejar, defina a propriedade de Erro da execução com uma mensagem ou exceção passada para error_details
.
fail(error_details=None, error_code=None, _set_status=True)
Parâmetros
Nome | Description |
---|---|
error_details
|
str ou
BaseException
Detalhes opcionais do erro. Valor padrão: None
|
error_code
|
Código opcional do erro para a classificação de erro. Valor padrão: None
|
_set_status
|
Indica se o evento de status deve ser enviado para rastreamento. Valor padrão: True
|
flush
Aguardar a fila de tarefas ser processada.
flush(timeout_seconds=300)
Parâmetros
Nome | Description |
---|---|
timeout_seconds
|
Quanto tempo aguardar (em segundos) para que a fila de tarefas seja processada. Valor padrão: 300
|
get
Obter a execução para este workspace com sua ID de execução.
static get(workspace, run_id)
Parâmetros
Nome | Description |
---|---|
workspace
Obrigatório
|
O workspace que contém. |
run_id
Obrigatório
|
A ID de execução. |
Retornos
Tipo | Description |
---|---|
A execução enviada. |
get_all_logs
Baixar todos os logs para a execução em um diretório.
get_all_logs(destination=None)
Parâmetros
Nome | Description |
---|---|
destination
|
O caminho de destino para armazenar logs. Se não for especificado, um diretório chamado como ID de execução será criado no diretório do projeto. Valor padrão: None
|
Retornos
Tipo | Description |
---|---|
Uma lista de nomes de logs baixados. |
get_children
Obter todos os filhos para a execução atual selecionada por filtros especificados.
get_children(recursive=False, tags=None, properties=None, type=None, status=None, _rehydrate_runs=True)
Parâmetros
Nome | Description |
---|---|
recursive
|
Indica se deve recorrer a todos os descendentes. Valor padrão: False
|
tags
|
Se especificado, retorna execuções que correspondem a "tag" ou {"tag": "value"} especificado. Valor padrão: None
|
properties
|
Se especificado, retorna execuções que correspondem a "property" ou {"property": "value"} especificado. Valor padrão: None
|
type
|
Se especificado, retorna execuções que correspondem a este tipo. Valor padrão: None
|
status
|
Se especificado, retorna execuções com o status especificado "status". Valor padrão: None
|
_rehydrate_runs
|
Indica se deve criar uma instância de uma execução do tipo original ou da Execução base. Valor padrão: True
|
Retornos
Tipo | Description |
---|---|
Uma lista de objetos Run. |
get_context
Retornar o contexto de serviço atual.
Use este método para recuperar o contexto de serviço atual para registrar métricas em log e carregar arquivos. Se allow_offline
for True (o padrão), as ações em relação ao objeto de Execução serão impressas no padrão.
get_context(allow_offline=True, used_for_context_manager=False, **kwargs)
Parâmetros
Nome | Description |
---|---|
cls
Obrigatório
|
Indica o método de classe. |
allow_offline
|
Permitir que o contexto de serviço volte ao modo offline para que o script de treinamento possa ser testado localmente sem enviar um trabalho com o SDK. True por padrão. Valor padrão: True
|
kwargs
Obrigatório
|
Um dicionário de parâmetros opcionais. |
used_for_context_manager
|
Valor padrão: False
|
Retornos
Tipo | Description |
---|---|
A execução enviada. |
Comentários
Normalmente, esta função é usada para recuperar o objeto de Execução autenticado dentro de um script a ser enviado para execução por meio de experiment.submit(). Esse objeto de execução é um contexto autenticado para se comunicar com os serviços do Azure Machine Learning e um contêiner conceitual dentro do qual há métricas, arquivos (artefatos) e modelos.
run = Run.get_context() # allow_offline=True by default, so can be run locally as well
...
run.log("Accuracy", 0.98)
run.log_row("Performance", epoch=e, error=err)
get_detailed_status
Buscar o status mais recente da execução. Se o status da execução for "Queued", ele mostrará os detalhes.
get_detailed_status()
Retornos
Tipo | Description |
---|---|
O status e os detalhes mais recentes |
Comentários
status: o status atual da execução. Mesmo valor que o retornado de get_status().
details: as informações detalhadas do status atual.
run = experiment.submit(config)
details = run.get_detailed_status()
# details = {
# 'status': 'Queued',
# 'details': 'Run requested 1 node(s). Run is in pending status.',
# }
get_details
Obter a definição, as informações de status, os arquivos de log atuais e outros detalhes da execução.
get_details()
Retornos
Tipo | Description |
---|---|
Retornar os detalhes da execução |
Comentários
O dicionário retornado contém os seguintes pares chave-valor:
runId: ID desta execução.
destino
status: o status atual da execução. Mesmo valor que o retornado de get_status().
startTimeUtc: hora UTC de quando essa execução foi iniciada, em ISO8601.
endTimeUtc: hora UTC de quando essa execução foi concluída (Concluída ou Falhou), em ISO8601.
Essa chave não existe caso a execução ainda esteja em andamento.
properties: pares chave-valor imutáveis associados à execução. As propriedades padrão incluem a ID de instantâneo da execução e as informações sobre o repositório git do qual a execução foi criada (se houver). Outras propriedades podem ser adicionadas a uma execução usando add_properties.
inputDatasets: conjuntos de dados de entrada associados à execução.
outputDatasets: conjuntos de dados de saída associados à execução.
logFiles
submittedBy
run = experiment.start_logging()
details = run.get_details()
# details = {
# 'runId': '5c24aa28-6e4a-4572-96a0-fb522d26fe2d',
# 'target': 'sdk',
# 'status': 'Running',
# 'startTimeUtc': '2019-01-01T13:08:01.713777Z',
# 'endTimeUtc': '2019-01-01T17:15:65.986253Z',
# 'properties': {
# 'azureml.git.repository_uri': 'https://example.com/my/git/repo',
# 'azureml.git.branch': 'master',
# 'azureml.git.commit': '7dc972657c2168927a02c3bc2b161e0f370365d7',
# 'azureml.git.dirty': 'True',
# 'mlflow.source.git.repoURL': 'https://example.com/my/git/repo',
# 'mlflow.source.git.branch': 'master',
# 'mlflow.source.git.commit': '7dc972657c2168927a02c3bc2b161e0f370365d7',
# 'ContentSnapshotId': 'b4689489-ce2f-4db5-b6d7-6ad11e77079c'
# },
# 'inputDatasets': [{
# 'dataset': {'id': 'cdebf245-701d-4a68-8055-41f9cf44f298'},
# 'consumptionDetails': {
# 'type': 'RunInput',
# 'inputName': 'training-data',
# 'mechanism': 'Mount',
# 'pathOnCompute': '/mnt/datasets/train'
# }
# }],
# 'outputDatasets': [{
# 'dataset': {'id': 'd04e8a19-1caa-4b1f-b318-4cbff9af9615'},
# 'outputType': 'RunOutput',
# 'outputDetails': {
# 'outputName': 'training-result'
# }
# }],
# 'runDefinition': {},
# 'logFiles': {},
# 'submittedBy': 'Alan Turing'
# }
get_details_with_logs
Retornar o status de execução, incluindo o conteúdo do arquivo de log.
get_details_with_logs()
Retornos
Tipo | Description |
---|---|
Retorna o status da execução com o conteúdo do arquivo de log. |
get_environment
Obter a definição de ambiente que foi usada por essa execução.
get_environment()
Retornos
Tipo | Description |
---|---|
Retornar o objeto de ambiente. |
get_file_names
Listar os arquivos que são armazenados em associação com a execução.
get_file_names()
Retornos
Tipo | Description |
---|---|
A lista de caminhos para artefatos existentes |
get_metrics
Recuperar as métricas registradas para a execução.
Se recursive
for True (False por padrão), busque métricas para execuções na subárvore da execução especificada.
get_metrics(name=None, recursive=False, run_type=None, populate=False)
Parâmetros
Nome | Description |
---|---|
name
|
O nome da métrica. Valor padrão: None
|
recursive
|
Indica se deve recorrer a todos os descendentes. Valor padrão: False
|
run_type
|
Valor padrão: None
|
populate
|
Indica se deve buscar o conteúdo de dados externos vinculados à métrica. Valor padrão: False
|
Retornos
Tipo | Description |
---|---|
Um dicionário que contém as métricas de usuários. |
Comentários
run = experiment.start_logging() # run id: 123
run.log("A", 1)
with run.child_run() as child: # run id: 456
child.log("A", 2)
metrics = run.get_metrics()
# metrics = { 'A': 1 }
metrics = run.get_metrics(recursive=True)
# metrics = { '123': { 'A': 1 }, '456': { 'A': 2 } } note key is runId
get_properties
Buscar as propriedades mais recentes da execução do serviço.
get_properties()
Retornos
Tipo | Description |
---|---|
As propriedades da execução. |
Comentários
As propriedades são informações imutáveis geradas pelo sistema, como duração, data de execução, usuário e propriedades personalizadas adicionadas com o add_properties método. Para obter mais informações, consulte Marcas e localizar execuções.
Ao enviar um trabalho para o Azure Machine Learning, se os arquivos de origem forem armazenados em um repositório git local, as informações sobre o repositório serão armazenadas como propriedades. Essas propriedades git são adicionadas ao criar uma execução ou chamar Experiment.submit. Para obter mais informações sobre as propriedades git, confira Integração de git para o Azure Machine Learning.
get_secret
Obter o valor do segredo no contexto de uma execução.
Obter o valor do segredo para o nome fornecido. O nome do segredo faz referência a um valor armazenado no Azure Key Vault associado ao workspace. Para obter um exemplo de como trabalhar com segredos, consulte Usar segredos em execuções de treinamento.
get_secret(name)
Parâmetros
Nome | Description |
---|---|
name
Obrigatório
|
O nome do segredo para o qual retornar um segredo. |
Retornos
Tipo | Description |
---|---|
O valor do segredo. |
get_secrets
Obter os valores de segredos para uma determinada lista de nomes de segredos.
Obter um dicionário de segredos encontrados e não encontrados para a lista de nomes fornecidos. Cada nome do segredo faz referência a um valor armazenado no Azure Key Vault associado ao workspace. Para obter um exemplo de como trabalhar com segredos, consulte Usar segredos em execuções de treinamento.
get_secrets(secrets)
Parâmetros
Nome | Description |
---|---|
secrets
Obrigatório
|
Uma lista de nomes de segredos para os quais retornar valores secretos. |
Retornos
Tipo | Description |
---|---|
Retorna um dicionário de segredos encontrados e não encontrados. |
get_snapshot_id
Obter a ID do instantâneo mais recente.
get_snapshot_id()
Retornos
Tipo | Description |
---|---|
A ID de instantâneo mais recente. |
get_status
Buscar o status mais recente da execução.
Os valores comuns retornados incluem "Running", "Completed" e "Failed".
get_status()
Retornos
Tipo | Description |
---|---|
O status mais recente. |
Comentários
NotStarted – É um estado temporário em que os objetos de Execução do lado do cliente estão presentes antes do envio para a nuvem.
Starting – A Execução começou a ser processada na nuvem. O chamador tem uma ID de execução neste ponto.
Provisioning – Retornado quando a computação sob demanda está sendo criada para um determinado envio de trabalho.
Preparing – O ambiente de execução está sendo preparado:
docker image build
conda environment setup
Queued – O trabalho é enfileirado no destino de computação. Por exemplo, em BatchAI, o trabalho está na fila
enquanto aguarda que todos os nós solicitados estejam prontos.
Running – O trabalho começou a ser executado no destino de computação.
Finalizing – O código do usuário foi concluído e a execução está nos estágios de pós-processamento.
CancelRequested – O cancelamento foi solicitado para o trabalho.
Completed – A execução foi concluída com sucesso. Isso inclui o código do usuário e a execução
estágios de pós-processamento.
Failed – A execução falhou. Normalmente, a propriedade de Erro em uma execução fornecerá detalhes sobre o motivo.
Canceled – Segue uma solicitação de cancelamento e indica que a execução foi cancelada com êxito.
NotResponding – Para execuções que têm Pulsações habilitadas, nenhuma pulsação foi enviada recentemente.
run = experiment.submit(config)
while run.get_status() not in ['Completed', 'Failed']: # For example purposes only, not exhaustive
print('Run {} not in terminal state'.format(run.id))
time.sleep(10)
get_submitted_run
PRETERIDO. Use get_context.
Obter a execução enviada para este experimento.
get_submitted_run(**kwargs)
Retornos
Tipo | Description |
---|---|
A execução enviada. |
get_tags
Buscar o conjunto mais recente de marcas mutáveis na execução do serviço.
get_tags()
Retornos
Tipo | Description |
---|---|
As marcas armazenadas no objeto de execução. |
list
Obter uma lista de execuções em um experimento especificado por filtros opcionais.
static list(experiment, type=None, tags=None, properties=None, status=None, include_children=False, _rehydrate_runs=True)
Parâmetros
Nome | Description |
---|---|
experiment
Obrigatório
|
O experimento que o contém. |
type
|
Se especificado, retorna execuções que correspondem ao tipo especificado. Valor padrão: None
|
tags
|
Se especificado, retorna execuções que correspondem a "tag" ou {"tag": "value"} especificado. Valor padrão: None
|
properties
|
Se especificado, retorna execuções que correspondem a "property" ou {"property": "value"} especificado. Valor padrão: None
|
status
|
Se especificado, retorna execuções com o status especificado "status". Valor padrão: None
|
include_children
|
Se definido como true, busca todas as execuções, não apenas as de nível superior. Valor padrão: False
|
_rehydrate_runs
|
Se definido como True (por padrão), usará o provedor registrado para recriar a instância de um objeto nesse tipo em vez da Execução base. Valor padrão: True
|
Retornos
Tipo | Description |
---|---|
Uma lista de execuções. |
Comentários
O exemplo de código a seguir mostra alguns usos do método list
.
favorite_completed_runs = Run.list(experiment, status='Completed', tags='favorite')
all_distinct_runs = Run.list(experiment)
and_their_children = Run.list(experiment, include_children=True)
only_script_runs = Run.list(experiment, type=ScriptRun.RUN_TYPE)
list_by_compute
Obter uma lista de execuções em uma computação especificada por filtros opcionais.
static list_by_compute(compute, type=None, tags=None, properties=None, status=None)
Parâmetros
Nome | Description |
---|---|
compute
Obrigatório
|
A computação que contém. |
type
|
Se especificado, retorna execuções que correspondem ao tipo especificado. Valor padrão: None
|
tags
|
Se especificado, retorna execuções que correspondem a "tag" ou {"tag": "value"} especificado. Valor padrão: None
|
properties
|
Se especificado, retorna execuções que correspondem a "property" ou {"property": "value"} especificado. Valor padrão: None
|
status
|
Se especificado, retorna execuções com o status especificado "status". Somente os valores permitidos são "Running" e "Queued". Valor padrão: None
|
Retornos
Tipo | Description |
---|---|
<xref:builtin.generator>
|
um gerador de ~_restclient.models.RunDto |
log
Registre em log um valor de métrica para a execução com o nome fornecido.
log(name, value, description='', step=None)
Parâmetros
Nome | Description |
---|---|
name
Obrigatório
|
O nome da métrica. |
value
Obrigatório
|
O valor a ser postado no serviço. |
description
Obrigatório
|
Uma descrição de métrica opcional. |
step
|
Um eixo opcional para especificar a ordem de valor em uma métrica. Valor padrão: None
|
Comentários
Registrar uma métrica em log para uma execução faz essa métrica ser armazenada no registro de execução no experimento. Você pode registrar em log a mesma métrica várias vezes dentro de uma execução, sendo o resultado considerado um vetor dessa métrica. Se a etapa for especificada para uma métrica, deverá ser especificada para todos os valores.
log_accuracy_table
Registrar uma tabela de precisão no armazenamento de artefatos.
A métrica de tabela de precisão é uma métrica multiuso não escalar que pode ser usada para produzir vários tipos de gráficos de linhas que variam continuamente no espaço de probabilidades previstas. Exemplos desses gráficos são ROC, recall de precisão e curvas de desempenho.
O cálculo da tabela de precisão é semelhante ao cálculo de uma curva ROC. Uma curva ROC armazena taxas de verdadeiro positivo e taxas de falso positivo em muitos limites de probabilidade diferentes. A tabela de precisão armazena o número bruto de verdadeiros positivos, falsos positivos, verdadeiros negativos e falsos negativos em muitos limites de probabilidade.
Há dois métodos usados para selecionar limites: "probabilidade" e "percentil". Eles diferem em como fazem a amostra do espaço de probabilidades previstas.
Os limites de probabilidade são limites de espaço uniforme entre 0 e 1. Se NUM_POINTS for 5, os limites de probabilidade serão [0.0, 0.25, 0.5, 0.75, 1.0].
Os limites de percentil são espaçados de acordo com a distribuição das probabilidades previstas. Cada limite corresponde ao percentil dos dados em um limite de probabilidade. Por exemplo, se NUM_POINTS for 5, o primeiro limite será no 0º percentil, o segundo no 25º percentil, o terceiro no 50º e assim por diante.
As tabelas de probabilidade e as tabelas de percentil são listas 3D em que a primeira dimensão representa o rótulo de classe; a segunda dimensão representa a amostra em um limite (escalas com NUM_POINTS); e a terceira dimensão sempre tem 4 valores: TP, FP, TN, FN e sempre nessa ordem.
Os valores de confusão (TP, FP, TN, FN) são computados com a estratégia one vs. rest. Veja o link a seguir para obter mais detalhes: https://en.wikipedia.org/wiki/Multiclass_classification
N = nº de exemplos no conjunto de dados de validação (200 no exemplo) M = nº de limites = nº de amostras retiradas do espaço de probabilidade (5 no exemplo) C = nº de classes no conjunto de dados completo (3 no exemplo)
Algumas invariáveis da tabela de precisão:
- TP + FP + TN + FN = N para todos os limites para todas as classes
- TP + FN é o mesmo em todos os limites para qualquer classe
- TN + FP é o mesmo em todos os limites para qualquer classe
- As tabelas de probabilidade e tabelas de percentil têm forma [C, M, 4]
Observação: M pode ser qualquer valor e controla a resolução dos gráficos Isso é independente do conjuntos de dados, é definido ao calcular métricas e compensa o espaço de armazenamento, o tempo de computação e a resolução.
Os rótulos de classe devem ser cadeias de caracteres; valores de confusão devem ser inteiros; e os limites devem ser floats.
log_accuracy_table(name, value, description='')
Parâmetros
Nome | Description |
---|---|
name
Obrigatório
|
O nome da tabela de precisão. |
value
Obrigatório
|
JSON que contém propriedades de nome, versão e dados. |
description
Obrigatório
|
Uma descrição de métrica opcional. |
Comentários
Exemplo de um valor JSON válido:
{
"schema_type": "accuracy_table",
"schema_version": "1.0.1",
"data": {
"probability_tables": [
[
[82, 118, 0, 0],
[75, 31, 87, 7],
[66, 9, 109, 16],
[46, 2, 116, 36],
[0, 0, 118, 82]
],
[
[60, 140, 0, 0],
[56, 20, 120, 4],
[47, 4, 136, 13],
[28, 0, 140, 32],
[0, 0, 140, 60]
],
[
[58, 142, 0, 0],
[53, 29, 113, 5],
[40, 10, 132, 18],
[24, 1, 141, 34],
[0, 0, 142, 58]
]
],
"percentile_tables": [
[
[82, 118, 0, 0],
[82, 67, 51, 0],
[75, 26, 92, 7],
[48, 3, 115, 34],
[3, 0, 118, 79]
],
[
[60, 140, 0, 0],
[60, 89, 51, 0],
[60, 41, 99, 0],
[46, 5, 135, 14],
[3, 0, 140, 57]
],
[
[58, 142, 0, 0],
[56, 93, 49, 2],
[54, 47, 95, 4],
[41, 10, 132, 17],
[3, 0, 142, 55]
]
],
"probability_thresholds": [0.0, 0.25, 0.5, 0.75, 1.0],
"percentile_thresholds": [0.0, 0.01, 0.24, 0.98, 1.0],
"class_labels": ["0", "1", "2"]
}
}
log_confusion_matrix
Registrar uma matriz de confusão no armazenamento de artefatos.
Isso registra um wrapper em torno da matriz de confusão sklearn. Os dados de métrica contêm os rótulos de classe e uma lista 2D para a própria matriz. Confira o link a seguir para obter mais detalhes sobre como a métrica é computada: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html
log_confusion_matrix(name, value, description='')
Parâmetros
Nome | Description |
---|---|
name
Obrigatório
|
O nome da matriz de confusão. |
value
Obrigatório
|
JSON que contém propriedades de nome, versão e dados. |
description
Obrigatório
|
Uma descrição de métrica opcional. |
Comentários
Exemplo de um valor JSON válido:
{
"schema_type": "confusion_matrix",
"schema_version": "1.0.0",
"data": {
"class_labels": ["0", "1", "2", "3"],
"matrix": [
[3, 0, 1, 0],
[0, 1, 0, 1],
[0, 0, 1, 0],
[0, 0, 0, 1]
]
}
}
log_image
Registre em log uma métrica de imagem para o registro de execução.
log_image(name, path=None, plot=None, description='')
Parâmetros
Nome | Description |
---|---|
name
Obrigatório
|
O nome da métrica. |
path
Obrigatório
|
O caminho ou fluxo da imagem. |
plot
Obrigatório
|
<xref:matplotlib.pyplot>
O gráfico a ser registrado como uma imagem. |
description
Obrigatório
|
Uma descrição de métrica opcional. |
Comentários
Use esse método para registrar um arquivo de imagem ou um gráfico matplotlib para a execução. Essas imagens serão visíveis e comparáveis no registro de execução.
log_list
Registrar uma lista de valores de métrica para a execução com o nome fornecido.
log_list(name, value, description='')
Parâmetros
Nome | Description |
---|---|
name
Obrigatório
|
O nome da métrica. |
value
Obrigatório
|
Os valores da métrica. |
description
Obrigatório
|
Uma descrição de métrica opcional. |
log_predictions
Registrar previsões no armazenamento de artefatos.
Isso registra uma pontuação de métrica que pode ser usada para comparar as distribuições de valores de destino verdadeiros com a distribuição de valores previstos para uma tarefa de regressão.
As previsões são compartimentadas, e os desvios padrão são calculados para barras de erro em um gráfico de linhas.
log_predictions(name, value, description='')
Parâmetros
Nome | Description |
---|---|
name
Obrigatório
|
O nome das previsões. |
value
Obrigatório
|
JSON que contém propriedades de nome, versão e dados. |
description
Obrigatório
|
Uma descrição de métrica opcional. |
Comentários
Exemplo de um valor JSON válido:
{
"schema_type": "predictions",
"schema_version": "1.0.0",
"data": {
"bin_averages": [0.25, 0.75],
"bin_errors": [0.013, 0.042],
"bin_counts": [56, 34],
"bin_edges": [0.0, 0.5, 1.0]
}
}
log_residuals
Registrar resíduos no armazenamento de artefatos.
Isso registra os dados necessários para exibir um histograma de resíduos para uma tarefa de regressão. Os resíduos são previstos – reais.
Deve haver uma borda a mais do que o número de contagens. Consulte a documentação do histograma numpy para ver exemplos de uso de contagens e bordas para representar um histograma. https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html
log_residuals(name, value, description='')
Parâmetros
Nome | Description |
---|---|
name
Obrigatório
|
O nome dos resíduos. |
value
Obrigatório
|
JSON que contém propriedades de nome, versão e dados. |
description
Obrigatório
|
Uma descrição de métrica opcional. |
Comentários
Exemplo de um valor JSON válido:
{
"schema_type": "residuals",
"schema_version": "1.0.0",
"data": {
"bin_edges": [50, 100, 200, 300, 350],
"bin_counts": [0.88, 20, 30, 50.99]
}
}
log_row
Registrar uma métrica de linha para a execução com o nome fornecido.
log_row(name, description=None, **kwargs)
Parâmetros
Nome | Description |
---|---|
name
Obrigatório
|
O nome da métrica. |
description
|
Uma descrição de métrica opcional. Valor padrão: None
|
kwargs
Obrigatório
|
Um dicionário de parâmetros opcionais. Nesse caso, as colunas da métrica. |
Comentários
O uso de log_row
cria uma métrica de tabela com colunas, conforme descrito em kwargs. Cada parâmetro nomeado gera uma coluna com o valor especificado.
log_row
pode ser chamado uma vez, para registrar uma tupla arbitrária, ou várias vezes em um loop, para gerar uma tabela completa.
citrus = ['orange', 'lemon', 'lime']
sizes = [ 10, 7, 3]
for index in range(len(citrus)):
run.log_row("citrus", fruit = citrus[index], size=sizes[index])
log_table
Registrar em log uma métrica de tabela para a execução com o nome fornecido.
log_table(name, value, description='')
Parâmetros
Nome | Description |
---|---|
name
Obrigatório
|
O nome da métrica. |
value
Obrigatório
|
O valor da tabela da métrica, um dicionário em que as chaves são colunas a serem postadas no serviço. |
description
Obrigatório
|
Uma descrição de métrica opcional. |
register_model
Registrar um modelo para operacionalização.
register_model(model_name, model_path=None, tags=None, properties=None, model_framework=None, model_framework_version=None, description=None, datasets=None, sample_input_dataset=None, sample_output_dataset=None, resource_configuration=None, **kwargs)
Parâmetros
Nome | Description |
---|---|
model_name
Obrigatório
|
O nome do modelo. |
model_path
|
O caminho de nuvem relativo para o modelo, por exemplo, "outputs/modelname".
Quando não especificado (None), Valor padrão: None
|
tags
|
Um dicionário de marcas de valor de chave para atribuir ao modelo. Valor padrão: None
|
properties
|
Um dicionário de propriedades de valor de chave para atribuir ao modelo. Essas propriedades não podem ser alteradas após a criação do modelo; no entanto, novos pares de chave e valor podem ser adicionados. Valor padrão: None
|
model_framework
|
A estrutura do modelo a ser registrado. Estruturas compatíveis atualmente: TensorFlow, ScikitLearn, Onnx, Custom, Multi Valor padrão: None
|
model_framework_version
|
A versão da estrutura do modelo registrado. Valor padrão: None
|
description
|
Uma descrição opcional do modelo. Valor padrão: None
|
datasets
|
Uma lista de tuplas em que o primeiro elemento descreve a relação entre conjunto de dados e modelo, e o segundo elemento é o conjunto de dados. Valor padrão: None
|
sample_input_dataset
|
Opcional. Amostra de conjunto de dados de entrada para o modelo registrado Valor padrão: None
|
sample_output_dataset
|
Opcional. Amostra de conjunto de dados de saída para o modelo registrado Valor padrão: None
|
resource_configuration
|
Opcional. Configuração de recurso para executar o modelo registrado Valor padrão: None
|
kwargs
Obrigatório
|
Parâmetros opcionais. |
Retornos
Tipo | Description |
---|---|
O modelo registrado. |
Comentários
model = best_run.register_model(model_name = 'best_model', model_path = 'outputs/model.pkl')
remove_tags
Excluir a lista de marcas mutáveis nesta execução.
remove_tags(tags)
Parâmetros
Nome | Description |
---|---|
tags
Obrigatório
|
Uma lista de marcas a serem removidas. |
Retornos
Tipo | Description |
---|---|
As marcas armazenadas no objeto de execução |
restore_snapshot
Restaurar um instantâneo como um arquivo ZIP. Retorna o caminho para o ZIP.
restore_snapshot(snapshot_id=None, path=None)
Parâmetros
Nome | Description |
---|---|
snapshot_id
|
A ID de instantâneo a ser restaurada. A mais recente será usada se não for especificada. Valor padrão: None
|
path
|
O caminho onde o ZIP baixado é salvo. Valor padrão: None
|
Retornos
Tipo | Description |
---|---|
O caminho. |
set_tags
Adicionar ou modificar um conjunto de marcas na execução. As marcas não passadas no dicionário são deixadas inalteradas.
Você também pode adicionar marcações de cadeia de caracteres simples. Quando essas marcas aparecem no dicionário de marcas como chaves, elas têm um valor None. Para obter mais informações, consulte Marcas e localizar execuções.
set_tags(tags)
Parâmetros
Nome | Description |
---|---|
tags
Obrigatório
|
As marcas armazenadas no objeto de execução. |
start
Marcar a execução como iniciada.
Normalmente, isso é usado em cenários avançados quando a execução foi criada por outro ator.
start()
submit_child
Enviar um experimento e retornar a execução filho ativa.
submit_child(config, tags=None, **kwargs)
Parâmetros
Nome | Description |
---|---|
config
Obrigatório
|
A configuração a ser enviada. |
tags
|
Marcas a serem adicionadas à execução enviada, por exemplo, {"tag": "value"}. Valor padrão: None
|
kwargs
Obrigatório
|
Parâmetros adicionais usados na função submit para configurações. |
Retornos
Tipo | Description |
---|---|
Um objeto de execução. |
Comentários
Submit é uma chamada assíncrona para a plataforma de Azure Machine Learning para executar uma avaliação em hardware local ou remoto. Dependendo da configuração, submit vai preparar automaticamente seus ambientes de execução, executar o código e capturar o código-fonte e os resultados no histórico de execuções do experimento.
Para enviar um experimento, crie um objeto de configuração que descreva como o experimento será executado. A configuração depende do tipo de avaliação necessária.
Um exemplo de como enviar um experimento filho do computador local usando ScriptRunConfig é o seguinte:
from azureml.core import ScriptRunConfig
# run a trial from the train.py code in your current directory
config = ScriptRunConfig(source_directory='.', script='train.py',
run_config=RunConfiguration())
run = parent_run.submit_child(config)
# get the url to view the progress of the experiment and then wait
# until the trial is complete
print(run.get_portal_url())
run.wait_for_completion()
Para obter detalhes sobre como configurar uma execução, consulte submit.
tag
Marque a execução com uma chave de cadeia de caracteres e um valor de cadeia de caracteres opcional.
tag(key, value=None)
Parâmetros
Nome | Description |
---|---|
key
Obrigatório
|
A chave de marca |
value
|
Um valor opcional para a marca Valor padrão: None
|
Comentários
As marcas e as propriedades em uma execução são dicionários da cadeia de caracteres -> cadeia de caracteres. A diferença entre elas é a mutabilidade: as marcas podem ser definidas, atualizadas e excluídas enquanto as propriedades só podem ser adicionadas. Isso torna as propriedades mais apropriadas para gatilhos de comportamento relacionados ao sistema/fluxo de trabalho, enquanto as marcas geralmente são voltadas para o usuário e são significativas para os consumidores do experimento.
run = experiment.start_logging()
run.tag('DeploymentCandidate')
run.tag('modifiedBy', 'Master CI')
run.tag('modifiedBy', 'release pipeline') # Careful, tags are mutable
run.add_properties({'BuildId': os.environ.get('VSTS_BUILD_ID')}) # Properties are not
tags = run.get_tags()
# tags = { 'DeploymentCandidate': None, 'modifiedBy': 'release pipeline' }
take_snapshot
Salvar um instantâneo da pasta ou do arquivo de entrada.
take_snapshot(file_or_folder_path)
Parâmetros
Nome | Description |
---|---|
file_or_folder_path
Obrigatório
|
O arquivo ou a pasta que contém o código-fonte da execução. |
Retornos
Tipo | Description |
---|---|
Retorna a ID do instantâneo. |
Comentários
Os instantâneos devem ser o código-fonte usado para executar a execução do experimento. Elas são armazenadas com a execução para que a avaliação de execução possa ser replicada no futuro.
Observação
Os instantâneos são feitos automaticamente quando submit é chamado. Normalmente, esse método take_snapshot só é necessário para execuções interativas (notebook).
upload_file
Carregar um arquivo para o registro de execução.
upload_file(name, path_or_stream, datastore_name=None)
Parâmetros
Nome | Description |
---|---|
name
Obrigatório
|
O nome do arquivo a ser carregado. |
path_or_stream
Obrigatório
|
O caminho local relativo ou o fluxo para o arquivo a ser carregado. |
datastore_name
Obrigatório
|
Nome opcional do armazenamento de dados |
Retornos
Tipo | Description |
---|---|
Comentários
run = experiment.start_logging()
run.upload_file(name='important_file', path_or_stream="path/on/disk/file.txt")
Observação
Execuções de capturam automaticamente os arquivos no diretório de saída especificado, cujo padrão é ". /outputs" para a maioria dos tipos de execução. Use upload_file somente quando arquivos adicionais precisarem ser carregados ou um diretório de saída não for especificado.
upload_files
Carregar arquivos para o registro de execução.
upload_files(names, paths, return_artifacts=False, timeout_seconds=None, datastore_name=None)
Parâmetros
Nome | Description |
---|---|
names
Obrigatório
|
Os nomes dos arquivos a serem carregados. Se definidos, os caminhos também devem ser definidos. |
paths
Obrigatório
|
Os caminhos locais relativos para os arquivos a serem carregados. Se definidos, os nomes são necessários. |
return_artifacts
Obrigatório
|
Indica que um objeto de artefato deve ser retornado para cada arquivo carregado. |
timeout_seconds
Obrigatório
|
O tempo limite para carregar arquivos. |
datastore_name
Obrigatório
|
Nome opcional do armazenamento de dados |
Comentários
upload_files
tem o mesmo efeito que upload_file
em arquivos separados. No entanto, há benefícios de utilização de desempenho e de recursos ao usar o upload_files
.
import os
run = experiment.start_logging()
file_name_1 = 'important_file_1'
file_name_2 = 'important_file_2'
run.upload_files(names=[file_name_1, file_name_2],
paths=['path/on/disk/file_1.txt', 'other/path/on/disk/file_2.txt'])
run.download_file(file_name_1, 'file_1.txt')
os.mkdir("path") # The path must exist
run.download_file(file_name_2, 'path/file_2.txt')
Observação
As execuções capturam automaticamente os arquivos no diretório de saída especificado, cujo padrão é "./outputs" para a maioria dos tipos de execução. Use upload_files somente quando arquivos adicionais precisarem ser carregados ou um diretório de saída não for especificado.
upload_folder
Carregar a pasta especificada para o nome de prefixo fornecido.
upload_folder(name, path, datastore_name=None)
Parâmetros
Nome | Description |
---|---|
name
Obrigatório
|
O nome da pasta de arquivos a ser carregada. |
folder
Obrigatório
|
O caminho local relativo para a pasta a ser carregada. |
datastore_name
Obrigatório
|
Nome opcional do armazenamento de dados |
Comentários
run = experiment.start_logging()
run.upload_folder(name='important_files', path='path/on/disk')
run.download_file('important_files/existing_file.txt', 'local_file.txt')
Observação
As execuções capturam automaticamente os arquivos no diretório de saída especificado, cujo padrão é "./outputs" para a maioria dos tipos de execução. Use upload_folder somente quando arquivos adicionais precisarem ser carregados ou um diretório de saída não for especificado.
wait_for_completion
Aguardar a conclusão desta execução. Retorna o objeto de status após a espera.
wait_for_completion(show_output=False, wait_post_processing=False, raise_on_error=True)
Parâmetros
Nome | Description |
---|---|
show_output
|
Indica se a saída de execução deve ser mostrada em sys.stdout. Valor padrão: False
|
wait_post_processing
|
Indica se é necessário aguardar a conclusão do processamento da postagem após a conclusão da execução. Valor padrão: False
|
raise_on_error
|
Indica se um Erro é gerado quando a Execução está em um estado de falha. Valor padrão: True
|
Retornos
Tipo | Description |
---|---|
O objeto de status. |
Atributos
description
Retorne a descrição da execução.
A descrição opcional da execução é uma cadeia de caracteres especificada pelo usuário, útil para descrever uma execução.
Retornos
Tipo | Description |
---|---|
A descrição da execução. |
display_name
Retorne o nome de exibição da execução.
O nome de exibição opcional da execução é uma cadeia de caracteres especificada pelo usuário que é útil para a identificação posterior da execução.
Retornos
Tipo | Description |
---|---|
O nome de exibição da execução. |
experiment
Obter o experimento que contém a execução.
Retornos
Tipo | Description |
---|---|
Recupera o experimento correspondente à execução. |
id
Obter a ID de execução.
A ID de execução é um identificador exclusivo no experimento que o contém.
Retornos
Tipo | Description |
---|---|
A ID de execução. |
name
PRETERIDO. Use display_name.
O nome opcional da execução é uma cadeia de caracteres especificada pelo usuário que é útil para a identificação posterior da execução.
Retornos
Tipo | Description |
---|---|
A ID de execução. |
number
Obter o número de execução.
Um número uniformemente crescente que representa a ordem das execuções em um experimento.
Retornos
Tipo | Description |
---|---|
O número de execução. |
parent
Busque a execução pai para essa execução no serviço.
As execuções podem ter um pai opcional, resultando em uma possível hierarquia de árvore de execuções. Para registrar métricas em uma execução pai, use o método log do objeto pai, por exemplo, run.parent.log()
.
Retornos
Tipo | Description |
---|---|
A execução pai ou None se não estiver definida. |
properties
Retornar as propriedades imutáveis desta execução.
Retornos
Tipo | Description |
---|---|
As propriedades armazenadas no cache local da execução. |
Comentários
As propriedades incluem informações imutáveis geradas pelo sistema, como duração, data de execução, usuário etc.
status
Retornar o status do objeto de execução.
tags
Retornar o conjunto de marcas mutáveis nesta execução.
Retornos
Tipo | Description |
---|---|
As marcas armazenadas no objeto de execução. |
type
Obter o tipo de execução.
Indica como a execução foi criada ou configurada.
Retornos
Tipo | Description |
---|---|
O tipo de execução. |