Share via


Run Classe

Define a classe base para todas as execuções de experimentação do Azure Machine Learning.

Uma execução representa uma única avaliação de uma experimentação. As execuções são utilizadas para monitorizar a execução assíncrona de uma avaliação, as métricas de registo e a saída do arquivo da versão de avaliação e para analisar os resultados e os artefactos de acesso gerados pela avaliação.

Os objetos de execução são criados quando submete um script para preparar um modelo em muitos cenários diferentes no Azure Machine Learning, incluindo execuções do HyperDrive, Execuções de pipeline e execuções de AutoML. Um objeto Executar também é criado quando você submit ou start_logging com a Experiment classe.

Para começar a utilizar experimentações e execuções, consulte

Inicialize o objeto Executar.

Herança
azureml._run_impl.run_base._RunBase
Run

Construtor

Run(experiment, run_id, outputs=None, **kwargs)

Parâmetros

Name Description
experiment
Necessário

A experimentação que contém.

run_id
Necessário
str

O ID da execução.

outputs
str

As saídas a controlar.

valor predefinido: None
_run_dto
Necessário
<xref:azureml._restclient.models.run_dto.RunDto>

Apenas utilização interna.

kwargs
Necessário

Um dicionário de parâmetros de configuração adicionais.

experiment
Necessário

A experimentação que contém.

run_id
Necessário
str

O ID da execução.

outputs
Necessário
str

As saídas a controlar.

kwargs
Necessário

Um dicionário de parâmetros de configuração adicionais.

Observações

Uma execução representa uma única avaliação de uma experimentação. Um objeto Executar é utilizado para monitorizar a execução assíncrona de uma versão de avaliação, métricas de registo e saída do arquivo da versão de avaliação e para analisar os resultados e aceder aos artefactos gerados pela versão de avaliação.

A execução é utilizada dentro do código de experimentação para registar métricas e artefactos no serviço Histórico de Execuções.

A execução é utilizada fora das suas experimentações para monitorizar o progresso e para consultar e analisar as métricas e os resultados que foram gerados.

A funcionalidade executar inclui:

  • Armazenar e obter métricas e dados

  • Carregar e transferir ficheiros

  • Utilizar etiquetas, bem como a hierarquia subordinada, para uma pesquisa fácil de execuções anteriores

  • Registar ficheiros de modelo armazenados como um modelo que pode ser operacionalizado

  • Armazenar, modificar e obter propriedades de uma execução

  • Carregar a execução atual a partir de um ambiente remoto com o get_context método

  • Instantâneos eficientes de um ficheiro ou diretório para reprodutibilidade

Esta classe funciona com o Experiment nestes cenários:

  • Criar uma execução ao executar código com submit

  • Criar uma execução interativamente num bloco de notas com start_logging

  • Registar métricas e carregar artefactos na sua experimentação, como ao utilizar log

  • Ler métricas e transferir artefactos ao analisar resultados experimentais, como ao utilizar get_metrics

Para submeter uma execução, crie um objeto de configuração que descreva como a experimentação é executada. Eis exemplos dos diferentes objetos de configuração que pode utilizar:

  • ScriptRunConfig

  • azureml.train.automl.automlconfig.AutoMLConfig

  • azureml.train.hyperdrive.HyperDriveConfig

  • azureml.pipeline.core.Pipeline

  • azureml.pipeline.core.PublishedPipeline

  • azureml.pipeline.core.PipelineEndpoint

As seguintes métricas podem ser adicionadas a uma execução durante a preparação de uma experimentação.

  • Escalar

    • Registe um valor numérico ou de cadeia na execução com o nome especificado com log. Registar uma métrica numa execução faz com que essa métrica seja armazenada no registo de execução na experimentação. Pode registar a mesma métrica várias vezes numa execução, sendo o resultado considerado um vetor dessa métrica.

    • Exemplo: run.log("accuracy", 0.95)

  • Lista

    • Registe uma lista de valores para a execução com o nome especificado com log_list.

    • Exemplo: run.log_list("accuracies", [0.6, 0.7, 0.87])

  • Linha

    • Utilizar log_row cria uma métrica com múltiplas colunas, conforme descrito em kwargs. Cada parâmetro com nome gera uma coluna com o valor especificado. log_row pode ser chamado uma vez para registar uma cadeia de identificação arbitrária ou várias vezes num ciclo para gerar uma tabela completa.

    • Exemplo: run.log_row("Y over X", x=1, y=0.4)

  • Tabela

    • Registe um objeto de dicionário na execução com o nome especificado com log_table.

    • Exemplo: run.log_table("Y over X", {"x":[1, 2, 3], "y":[0.6, 0.7, 0.89]})

  • Imagem

    • Registe uma imagem no registo de execução. Utilize log_image para registar um ficheiro de imagem ou um gráfico matplotlib para a execução. Estas imagens serão visíveis e comparáveis no registo de execução.

    • Exemplo: run.log_image("ROC", path)

Métodos

add_properties

Adicione propriedades imutáveis à execução.

As etiquetas e propriedades (ambos dict[str, str]) diferem na sua mutabilidade. As propriedades são imutáveis, pelo que criam um registo permanente para fins de auditoria. As etiquetas são mutáveis. Para obter mais informações sobre como trabalhar com etiquetas e propriedades, consulte Etiquetar e localizar execuções.

add_type_provider

Hook de extensibilidade para tipos de Execução personalizados armazenados no Histórico de Execuções.

cancel

Marcar a execução como cancelada.

Se existir uma tarefa associada a um campo de cancel_uri conjunto, termine também essa tarefa.

child_run

Criar uma execução subordinada.

clean

Remova os ficheiros correspondentes à execução atual no destino especificado na configuração de execução.

complete

Aguarde que a fila de tarefas seja processada.

Em seguida, a execução é marcada como concluída. Normalmente, isto é utilizado em cenários de blocos de notas interativos.

create_children

Crie uma ou várias execuções subordinadas.

download_file

Transfira um ficheiro associado a partir do armazenamento.

download_files

Transfira ficheiros a partir de um determinado prefixo de armazenamento (nome da pasta) ou de todo o contentor se o prefixo não for especificado.

fail

Marcar a execução como falhada.

Opcionalmente, defina a propriedade Error da execução com uma mensagem ou exceção transmitida para error_details.

flush

Aguarde que a fila de tarefas seja processada.

get

Obtenha a execução desta área de trabalho com o respetivo ID de execução.

get_all_logs

Transfira todos os registos da execução para um diretório.

get_children

Obtenha todos os subordinados para a execução atual selecionados por filtros especificados.

get_context

Devolver o contexto de serviço atual.

Utilize este método para obter o contexto de serviço atual para registar métricas e carregar ficheiros. Se allow_offline for Verdadeiro (a predefinição), as ações contra o objeto Executar serão impressas para padrão.

get_detailed_status

Obtenha o estado mais recente da execução. Se o estado da execução for "Em fila", serão apresentados os detalhes.

get_details

Obtenha a definição, as informações de estado, os ficheiros de registo atuais e outros detalhes da execução.

get_details_with_logs

Devolver o estado da execução, incluindo o conteúdo do ficheiro de registo.

get_environment

Obtenha a definição de ambiente que foi utilizada por esta execução.

get_file_names

Liste os ficheiros armazenados em associação com a execução.

get_metrics

Obtenha as métricas registadas na execução.

Se recursive for Verdadeiro (Falso por predefinição), obtenha as métricas para execuções na subárvore da execução especificada.

get_properties

Obtenha as propriedades mais recentes da execução a partir do serviço.

get_secret

Obtenha o valor do segredo a partir do contexto de uma execução.

Obtenha o valor do segredo para o nome fornecido. O nome do segredo referencia um valor armazenado no Azure Key Vault associado à área de trabalho. Para obter um exemplo de como trabalhar com segredos, veja Utilizar segredos em execuções de preparação.

get_secrets

Obtenha os valores secretos de uma determinada lista de nomes secretos.

Obtenha um dicionário de segredos encontrados e não encontrados para a lista de nomes fornecidos. Cada nome de segredo referencia um valor armazenado no Azure Key Vault associado à área de trabalho. Para obter um exemplo de como trabalhar com segredos, veja Utilizar segredos em execuções de preparação.

get_snapshot_id

Obtenha o ID de instantâneo mais recente.

get_status

Obtenha o estado mais recente da execução.

Os valores comuns devolvidos incluem "Em Execução", "Concluído" e "Com Falhas".

get_submitted_run

PRETERIDO. Utilize get_context.

Obtenha a execução submetida para esta experimentação.

get_tags

Obtenha o conjunto mais recente de etiquetas mutáveis em execução a partir do serviço.

list

Obtenha uma lista de execuções numa experimentação especificada por filtros opcionais.

list_by_compute

Obtenha uma lista de execuções numa computação especificada por filtros opcionais.

log

Registe um valor de métrica na execução com o nome especificado.

log_accuracy_table

Registe uma tabela de precisão no arquivo de artefactos.

A métrica da tabela de precisão é uma métrica multiusos e não escalares que pode ser utilizada para produzir vários tipos de gráficos de linhas que variam continuamente ao longo do espaço de probabilidades previstas. Alguns exemplos destes gráficos são ROC, revocação de precisão e curvas lift.

O cálculo da tabela de precisão é semelhante ao cálculo de uma curva ROC. Uma curva ROC armazena taxas positivas verdadeiras e taxas de falsos positivos em muitos limiares 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 limiares de probabilidade.

Existem dois métodos utilizados para selecionar limiares: "probabilidade" e "percentil". Diferem na forma como se amostram do espaço de probabilidades previstas.

Os limiares de probabilidade são limiares espaçados uniformemente entre 0 e 1. Se NUM_POINTS for 5, os limiares de probabilidade serão [0,0, 0,25, 0,5, 0,75, 1,0].

Os limiares de percentil são espaçados de acordo com a distribuição das probabilidades previstas. Cada limiar corresponde ao percentil dos dados num limiar de probabilidade. Por exemplo, se NUM_POINTS for 5, o primeiro limiar seria no percentil 0, o segundo no percentil 25, o terceiro no 50º, etc.

As tabelas de probabilidade e as tabelas de percentil são ambas listas 3D em que a primeira dimensão representa a etiqueta de classe, a segunda dimensão representa a amostra num limiar (dimensiona com NUM_POINTS) e a terceira dimensão tem sempre 4 valores: TP, FP, TN, FN e sempre por essa ordem.

Os valores de confusão (TP, FP, TN, FN) são calculados com a estratégia de um vs. rest. Veja a seguinte ligação para obter mais detalhes: https://en.wikipedia.org/wiki/Multiclass_classification

N = n. de amostras no conjunto de dados de validação (200, por exemplo) M = limiares # = # amostras obtidas a partir do espaço de probabilidade (5, por exemplo) C = classes # no conjunto de dados completo (3, por exemplo)

Algumas invariáveis da tabela de precisão:

  • TP + FP + TN + FN = N para todos os limiares para todas as classes
  • TP + FN é o mesmo em todos os limiares para qualquer classe
  • TN + FP é o mesmo em todos os limiares para qualquer classe
  • As tabelas de probabilidade e as tabelas de percentil têm a forma [C, M, 4]

Nota: M pode ser qualquer valor e controla a resolução dos gráficos Isto é independente do conjunto de dados, é definido ao calcular métricas e troca espaço de armazenamento, tempo de computação e resolução.

As etiquetas de classe devem ser cadeias, os valores de confusão devem ser números inteiros e os limiares devem ser flutuantes.

log_confusion_matrix

Registe uma matriz de confusão no arquivo de artefactos.

Isto regista um wrapper à volta da matriz de confusão sklearn. Os dados de métricas contêm as etiquetas de classe e uma lista 2D para a própria matriz. Veja a seguinte ligação para obter mais detalhes sobre como a métrica é calculada: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html

log_image

Registe uma métrica de imagem no registo de execução.

log_list

Registe uma lista de valores de métricas na execução com o nome especificado.

log_predictions

Registar predições no arquivo de artefactos.

Isto regista uma classificação de métrica que pode ser utilizada para comparar as distribuições de valores de destino verdadeiros com a distribuição de valores previstos para uma tarefa de regressão.

As predições são discretizadas e os desvios padrão são calculados para barras de erro num gráfico de linhas.

log_residuals

Registar residuais no arquivo de artefactos.

Isto regista os dados necessários para apresentar um histograma de residuais para uma tarefa de regressão. Os residuais são previstos - real.

Deve existir mais uma margem do que o número de contagens. Veja a documentação do histograma numpy para obter exemplos de utilização de contagens e arestas para representar um histograma. https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html

log_row

Registe uma métrica de linha na execução com o nome especificado.

log_table

Registe uma métrica de tabela na execução com o nome especificado.

register_model

Registar um modelo para operacionalização.

remove_tags

Elimine a lista de etiquetas mutáveis nesta execução.

restore_snapshot

Restaurar um instantâneo como um ficheiro ZIP. Devolve o caminho para o ZIP.

set_tags

Adicionar ou modificar um conjunto de etiquetas em execução. As etiquetas não transmitidas no dicionário são deixadas intocadas.

Também pode adicionar etiquetas de cadeia simples. Quando estas etiquetas aparecem no dicionário de etiquetas como chaves, têm um valor de Nenhum. Para obter mais informações, consulte Etiquetar e localizar execuções.

start

Marcar a execução como iniciada.

Normalmente, isto é utilizado em cenários avançados quando a execução foi criada por outro ator.

submit_child

Submeta uma experimentação e devolva a execução subordinada ativa.

tag

Marque a execução com uma chave de cadeia e um valor de cadeia opcional.

take_snapshot

Guarde um instantâneo do ficheiro ou pasta de entrada.

upload_file

Carregue um ficheiro para o registo de execução.

upload_files

Carregue ficheiros para o registo de execução.

upload_folder

Carregue a pasta especificada para o nome do prefixo especificado.

wait_for_completion

Aguarde pela conclusão desta execução. Devolve o objeto de estado após a espera.

add_properties

Adicione propriedades imutáveis à execução.

As etiquetas e propriedades (ambos dict[str, str]) diferem na sua mutabilidade. As propriedades são imutáveis, pelo que criam um registo permanente para fins de auditoria. As etiquetas são mutáveis. Para obter mais informações sobre como trabalhar com etiquetas e propriedades, consulte Etiquetar e localizar execuções.

add_properties(properties)

Parâmetros

Name Description
properties
Necessário

As propriedades ocultas armazenadas no objeto de execução.

add_type_provider

Hook de extensibilidade para tipos de Execução personalizados armazenados no Histórico de Execuções.

static add_type_provider(runtype, run_factory)

Parâmetros

Name Description
runtype
Necessário
str

O valor de Run.type para o qual a fábrica será invocada. Os exemplos incluem "hyperdrive" ou "azureml.scriptrun", mas podem ser expandidos com tipos personalizados.

run_factory
Necessário
<xref:function>

Uma função com assinatura (Experimentação, RunDto) –> execute para ser invocada quando a listagem for executada.

cancel

Marcar a execução como cancelada.

Se existir uma tarefa associada a um campo de cancel_uri conjunto, termine também essa tarefa.

cancel()

child_run

Criar uma execução subordinada.

child_run(name=None, run_id=None, outputs=None)

Parâmetros

Name Description
name
str

Um nome opcional para a execução subordinada, normalmente especificado para uma "parte".

valor predefinido: None
run_id
str

Um ID de execução opcional para o menor, caso contrário, é gerado automaticamente. Normalmente, este parâmetro não está definido.

valor predefinido: None
outputs
str

Diretório de saídas opcionais para controlar o subordinado.

valor predefinido: None

Devoluções

Tipo Description
Run

A criança corre.

Observações

Isto é utilizado para isolar parte de uma execução numa subsecção. Isto pode ser feito para "partes" identificáveis de uma execução que são interessantes de separar ou para capturar métricas independentes numa interação de um subprocesso.

Se estiver definido um diretório de saída para a execução subordinada, o conteúdo desse diretório será carregado para o registo de execução subordinado quando o subordinado estiver concluído.

clean

Remova os ficheiros correspondentes à execução atual no destino especificado na configuração de execução.

clean()

Devoluções

Tipo Description

Uma lista de ficheiros eliminados.

complete

Aguarde que a fila de tarefas seja processada.

Em seguida, a execução é marcada como concluída. Normalmente, isto é utilizado em cenários de blocos de notas interativos.

complete(_set_status=True)

Parâmetros

Name Description
_set_status

Indica se pretende enviar o evento de estado para controlo.

valor predefinido: True

create_children

Crie uma ou várias execuções subordinadas.

create_children(count=None, tag_key=None, tag_values=None)

Parâmetros

Name Description
count
int

Um número opcional de subordinados a criar.

valor predefinido: None
tag_key
str

Uma chave opcional para preencher a entrada Etiquetas em todos os elementos subordinados criados.

valor predefinido: None
tag_Values
Necessário

Uma lista opcional de valores que serão mapeados para Etiquetas[tag_key] para a lista de execuções criadas.

tag_values
valor predefinido: None

Devoluções

Tipo Description

A lista de execuções subordinadas.

Observações

Os parâmetros counttag_key OU E tag_values têm de ser especificados.

download_file

Transfira um ficheiro associado a partir do armazenamento.

download_file(name, output_file_path=None, _validate_checksum=False)

Parâmetros

Name Description
name
Necessário
str

O nome do artefacto a transferir.

output_file_path
Necessário
str

O caminho local onde armazenar o artefacto.

download_files

Transfira ficheiros a partir de um determinado prefixo de armazenamento (nome da pasta) ou de todo o contentor 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

Name Description
prefix
Necessário
str

O prefixo filepath no contentor a partir do qual pretende transferir todos os artefactos.

output_directory
Necessário
str

Um diretório opcional que todos os caminhos de artefactos utilizam como prefixo.

output_paths
Necessário
[str]

Caminhos de ficheiro opcionais para armazenar os artefactos transferidos. Deve ser exclusivo e corresponder ao comprimento dos caminhos.

batch_size
Necessário
int

O número de ficheiros a transferir por lote. A predefinição é 100 ficheiros.

append_prefix
Necessário

Um sinalizador opcional para acrescentar o prefixo especificado a partir do caminho do ficheiro de saída final. Se For Falso, o prefixo é removido do caminho do ficheiro de saída.

timeout_seconds
Necessário
int

O tempo limite para transferir ficheiros.

fail

Marcar a execução como falhada.

Opcionalmente, defina a propriedade Error da execução com uma mensagem ou exceção transmitida para error_details.

fail(error_details=None, error_code=None, _set_status=True)

Parâmetros

Name Description
error_details

Detalhes opcionais do erro.

valor predefinido: None
error_code
str

Código de erro opcional do erro para a classificação de erros.

valor predefinido: None
_set_status

Indica se pretende enviar o evento de estado para controlo.

valor predefinido: True

flush

Aguarde que a fila de tarefas seja processada.

flush(timeout_seconds=300)

Parâmetros

Name Description
timeout_seconds
int

Quanto tempo deve esperar (em segundos) para que a fila de tarefas seja processada.

valor predefinido: 300

get

Obtenha a execução desta área de trabalho com o respetivo ID de execução.

static get(workspace, run_id)

Parâmetros

Name Description
workspace
Necessário

A área de trabalho que contém.

run_id
Necessário

O ID de execução.

Devoluções

Tipo Description
Run

A execução submetida.

get_all_logs

Transfira todos os registos da execução para um diretório.

get_all_logs(destination=None)

Parâmetros

Name Description
destination
str

O caminho de destino para armazenar registos. Se não for especificado, é criado um diretório com o nome ID de execução no diretório do projeto.

valor predefinido: None

Devoluções

Tipo Description

Uma lista de nomes de registos transferidos.

get_children

Obtenha todos os subordinados para a execução atual selecionados por filtros especificados.

get_children(recursive=False, tags=None, properties=None, type=None, status=None, _rehydrate_runs=True)

Parâmetros

Name Description
recursive

Indica se deve voltar a ocorrer através de todos os descendentes.

valor predefinido: False
tags
str ou dict

Se especificado, devolve execuções correspondentes às especificadas "tag" ou {"tag": "value"}.

valor predefinido: None
properties
str ou dict

Se especificado, devolve execuções correspondentes a "propriedade" ou {"property": "value"}.

valor predefinido: None
type
str

Se especificado, devolve execuções correspondentes a este tipo.

valor predefinido: None
status
str

Se especificado, devolve execuções com o estado especificado como "status".

valor predefinido: None
_rehydrate_runs

Indica se pretende instanciar uma execução do tipo original ou a execução base.

valor predefinido: True

Devoluções

Tipo Description

Uma lista de Run objetos.

get_context

Devolver o contexto de serviço atual.

Utilize este método para obter o contexto de serviço atual para registar métricas e carregar ficheiros. Se allow_offline for Verdadeiro (a predefinição), as ações contra o objeto Executar serão impressas para padrão.

get_context(allow_offline=True, used_for_context_manager=False, **kwargs)

Parâmetros

Name Description
cls
Necessário

Indica o método de classe.

allow_offline

Permita que o contexto do serviço regresse ao modo offline para que o script de preparação possa ser testado localmente sem submeter uma tarefa com o SDK. Verdadeiro por predefinição.

valor predefinido: True
kwargs
Necessário

Um dicionário de parâmetros adicionais.

used_for_context_manager
valor predefinido: False

Devoluções

Tipo Description
Run

A execução submetida.

Observações

Esta função é frequentemente utilizada para obter o objeto Run autenticado dentro de um script a ser submetido para execução através de experiment.submit(). Este objeto de execução é um contexto autenticado para comunicar com os serviços do Azure Machine Learning e um contentor conceptual no qual as métricas, ficheiros (artefactos) e modelos estão contidos.


   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

Obtenha o estado mais recente da execução. Se o estado da execução for "Em fila", serão apresentados os detalhes.

get_detailed_status()

Devoluções

Tipo Description

O estado e os detalhes mais recentes

Observações

  • status: o estado atual da execução. O mesmo valor devolvido de get_status().

  • detalhes: as informações detalhadas do estado 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

Obtenha a definição, as informações de estado, os ficheiros de registo atuais e outros detalhes da execução.

get_details()

Devoluções

Tipo Description

Devolver os detalhes da execução

Observações

O dicionário devolvido contém os seguintes pares chave-valor:

  • runId: ID desta execução.

  • destino

  • status: o estado atual da execução. O mesmo valor devolvido de get_status().

  • startTimeUtc: hora UTC de quando esta execução foi iniciada, em ISO8601.

  • endTimeUtc: hora UTC de quando esta execução foi concluída (Concluída ou Falhada) em ISO8601.

    Esta chave não existe se a execução ainda estiver em curso.

  • propriedades: pares de chave-valor imutáveis associados à execução. As propriedades predefinidas incluem o ID de instantâneo da execução e informações sobre o repositório git a partir do qual a execução foi criada (se aplicável). Podem ser adicionadas propriedades adicionais a uma execução com add_properties.

  • inputDatasets: conjuntos de dados de entrada associados à execução.

  • outputDatasets: conjuntos de dados de saída associados à execução.

  • logFiles

  • submetido Por


   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

Devolver o estado da execução, incluindo o conteúdo do ficheiro de registo.

get_details_with_logs()

Devoluções

Tipo Description

Devolve o estado da execução com o conteúdo do ficheiro de registo.

get_environment

Obtenha a definição de ambiente que foi utilizada por esta execução.

get_environment()

Devoluções

Tipo Description

Devolver o objeto de ambiente.

get_file_names

Liste os ficheiros armazenados em associação com a execução.

get_file_names()

Devoluções

Tipo Description

A lista de caminhos para artefactos existentes

get_metrics

Obtenha as métricas registadas na execução.

Se recursive for Verdadeiro (Falso por predefinição), obtenha as 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

Name Description
name
str

O nome da métrica.

valor predefinido: None
recursive

Indica se deve voltar a ocorrer através de todos os descendentes.

valor predefinido: False
run_type
str
valor predefinido: None
populate

Indica se pretende obter o conteúdo dos dados externos ligados à métrica.

valor predefinido: False

Devoluções

Tipo Description

Um dicionário que contém as métricas dos utilizadores.

Observações


   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

Obtenha as propriedades mais recentes da execução a partir do serviço.

get_properties()

Devoluções

Tipo Description

As propriedades da execução.

Observações

As propriedades são informações imutáveis geradas pelo sistema, como duração, data de execução, utilizador e propriedades personalizadas adicionadas com o add_properties método . Para obter mais informações, consulte Etiquetar e localizar execuções.

Ao submeter uma tarefa para o Azure Machine Learning, se os ficheiros de origem estiverem armazenados num repositório git local, as informações sobre o repositório são armazenadas como propriedades. Estas propriedades do git são adicionadas ao criar uma execução ou ao chamar Experiment.submit. Para obter mais informações sobre as propriedades do git, veja Integração do Git para o Azure Machine Learning.

get_secret

Obtenha o valor do segredo a partir do contexto de uma execução.

Obtenha o valor do segredo para o nome fornecido. O nome do segredo referencia um valor armazenado no Azure Key Vault associado à área de trabalho. Para obter um exemplo de como trabalhar com segredos, veja Utilizar segredos em execuções de preparação.

get_secret(name)

Parâmetros

Name Description
name
Necessário
str

O nome do segredo para o qual devolver um segredo.

Devoluções

Tipo Description
str

O valor do segredo.

get_secrets

Obtenha os valores secretos de uma determinada lista de nomes secretos.

Obtenha um dicionário de segredos encontrados e não encontrados para a lista de nomes fornecidos. Cada nome de segredo referencia um valor armazenado no Azure Key Vault associado à área de trabalho. Para obter um exemplo de como trabalhar com segredos, veja Utilizar segredos em execuções de preparação.

get_secrets(secrets)

Parâmetros

Name Description
secrets
Necessário

Uma lista de nomes secretos para os quais devolver valores secretos.

Devoluções

Tipo Description

Devolve um dicionário de segredos encontrados e não encontrados.

get_snapshot_id

Obtenha o ID de instantâneo mais recente.

get_snapshot_id()

Devoluções

Tipo Description
str

O ID de instantâneo mais recente.

get_status

Obtenha o estado mais recente da execução.

Os valores comuns devolvidos incluem "Em Execução", "Concluído" e "Com Falhas".

get_status()

Devoluções

Tipo Description
str

O estado mais recente.

Observações

  • NotStarted - Trata-se de um estado temporário em que os objetos Executar do lado do cliente estão antes da submissão da cloud.

  • A iniciar – a Execução começou a ser processada na cloud. O autor da chamada tem um ID de execução neste momento.

  • Aprovisionamento – devolvido quando a computação a pedido está a ser criada para uma determinada submissão de tarefa.

  • Preparação – o ambiente de execução está a ser preparado:

    • compilação da imagem do docker

    • configuração do ambiente conda

  • Em fila – a tarefa está em fila no destino de computação. Por exemplo, no BatchAI, a tarefa está no estado em fila

    enquanto aguarda que todos os nós pedidos estejam prontos.

  • Em execução – a tarefa começou a ser executada no destino de computação.

  • Finalização – o código do utilizador foi concluído e a execução encontra-se em fases de pós-processamento.

  • CancelRequested - Foi pedido o cancelamento para a tarefa.

  • Concluído – a execução foi concluída com êxito. Isto inclui o código de utilizador e a execução

    fases de pós-processamento.

  • Falha – a execução falhou. Normalmente, a propriedade Error numa execução irá fornecer detalhes sobre o motivo.

  • Cancelado – segue um pedido de cancelamento e indica que a execução foi cancelada com êxito.

  • NotResponding – para execuções com Heartbeats ativados, não foi enviado nenhum heartbeat 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. Utilize get_context.

Obtenha a execução submetida para esta experimentação.

get_submitted_run(**kwargs)

Devoluções

Tipo Description
Run

A execução submetida.

get_tags

Obtenha o conjunto mais recente de etiquetas mutáveis em execução a partir do serviço.

get_tags()

Devoluções

Tipo Description

As etiquetas armazenadas no objeto de execução.

list

Obtenha uma lista de execuções numa experimentação especificada por filtros opcionais.

static list(experiment, type=None, tags=None, properties=None, status=None, include_children=False, _rehydrate_runs=True)

Parâmetros

Name Description
experiment
Necessário

A experimentação que contém.

type
str

Se especificado, devolve execuções correspondentes ao tipo especificado.

valor predefinido: None
tags
str ou dict

Se especificado, devolve execuções correspondentes às especificadas "tag" ou {"tag": "value"}.

valor predefinido: None
properties
str ou dict

Se especificado, devolve execuções correspondentes a "propriedade" ou {"property": "value"}.

valor predefinido: None
status
str

Se especificado, devolve execuções com o estado especificado como "status".

valor predefinido: None
include_children

Se estiver definido como verdadeiro, obtenha todas as execuções e não apenas as de nível superior.

valor predefinido: False
_rehydrate_runs

Se estiver definido como Verdadeiro (por predefinição), utilizará o fornecedor registado para obter novamente um objeto para esse tipo em vez da execução base.

valor predefinido: True

Devoluções

Tipo Description

Uma lista de execuções.

Observações

O seguinte exemplo de código mostra algumas utilizações do list método .


   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

Obtenha uma lista de execuções numa computação especificada por filtros opcionais.

static list_by_compute(compute, type=None, tags=None, properties=None, status=None)

Parâmetros

Name Description
compute
Necessário

A computação que contém.

type
str

Se especificado, devolve execuções correspondentes ao tipo especificado.

valor predefinido: None
tags
str ou dict

Se especificado, devolve execuções correspondentes às especificadas "tag" ou {"tag": "value"}.

valor predefinido: None
properties
str ou dict

Se especificado, devolve execuções correspondentes a "propriedade" ou {"property": "value"}.

valor predefinido: None
status
str

Se especificado, devolve execuções com o estado especificado como "status". Apenas os valores permitidos são "Em execução" e "Em fila".

valor predefinido: None

Devoluções

Tipo Description
<xref:builtin.generator>

um gerador de ~_restclient.models.RunDto

log

Registe um valor de métrica na execução com o nome especificado.

log(name, value, description='', step=None)

Parâmetros

Name Description
name
Necessário
str

O nome da métrica.

value
Necessário

O valor a publicar no serviço.

description
Necessário
str

Uma descrição de métrica opcional.

step
int

Um eixo opcional para especificar a ordem dos valores numa métrica.

valor predefinido: None

Observações

Registar uma métrica numa execução faz com que essa métrica seja armazenada no registo de execução na experimentação. Pode registar a mesma métrica várias vezes numa execução, sendo o resultado considerado um vetor dessa métrica. Se o passo for especificado para uma métrica, tem de ser especificado para todos os valores.

log_accuracy_table

Registe uma tabela de precisão no arquivo de artefactos.

A métrica da tabela de precisão é uma métrica multiusos e não escalares que pode ser utilizada para produzir vários tipos de gráficos de linhas que variam continuamente ao longo do espaço de probabilidades previstas. Alguns exemplos destes gráficos são ROC, revocação de precisão e curvas lift.

O cálculo da tabela de precisão é semelhante ao cálculo de uma curva ROC. Uma curva ROC armazena taxas positivas verdadeiras e taxas de falsos positivos em muitos limiares 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 limiares de probabilidade.

Existem dois métodos utilizados para selecionar limiares: "probabilidade" e "percentil". Diferem na forma como se amostram do espaço de probabilidades previstas.

Os limiares de probabilidade são limiares espaçados uniformemente entre 0 e 1. Se NUM_POINTS for 5, os limiares de probabilidade serão [0,0, 0,25, 0,5, 0,75, 1,0].

Os limiares de percentil são espaçados de acordo com a distribuição das probabilidades previstas. Cada limiar corresponde ao percentil dos dados num limiar de probabilidade. Por exemplo, se NUM_POINTS for 5, o primeiro limiar seria no percentil 0, o segundo no percentil 25, o terceiro no 50º, etc.

As tabelas de probabilidade e as tabelas de percentil são ambas listas 3D em que a primeira dimensão representa a etiqueta de classe, a segunda dimensão representa a amostra num limiar (dimensiona com NUM_POINTS) e a terceira dimensão tem sempre 4 valores: TP, FP, TN, FN e sempre por essa ordem.

Os valores de confusão (TP, FP, TN, FN) são calculados com a estratégia de um vs. rest. Veja a seguinte ligação para obter mais detalhes: https://en.wikipedia.org/wiki/Multiclass_classification

N = n. de amostras no conjunto de dados de validação (200, por exemplo) M = limiares # = # amostras obtidas a partir do espaço de probabilidade (5, por exemplo) C = classes # no conjunto de dados completo (3, por exemplo)

Algumas invariáveis da tabela de precisão:

  • TP + FP + TN + FN = N para todos os limiares para todas as classes
  • TP + FN é o mesmo em todos os limiares para qualquer classe
  • TN + FP é o mesmo em todos os limiares para qualquer classe
  • As tabelas de probabilidade e as tabelas de percentil têm a forma [C, M, 4]

Nota: M pode ser qualquer valor e controla a resolução dos gráficos Isto é independente do conjunto de dados, é definido ao calcular métricas e troca espaço de armazenamento, tempo de computação e resolução.

As etiquetas de classe devem ser cadeias, os valores de confusão devem ser números inteiros e os limiares devem ser flutuantes.

log_accuracy_table(name, value, description='')

Parâmetros

Name Description
name
Necessário
str

O nome da tabela de precisão.

value
Necessário
str ou dict

JSON que contém propriedades de nome, versão e dados.

description
Necessário
str

Uma descrição de métrica opcional.

Observações

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

Registe uma matriz de confusão no arquivo de artefactos.

Isto regista um wrapper à volta da matriz de confusão sklearn. Os dados de métricas contêm as etiquetas de classe e uma lista 2D para a própria matriz. Veja a seguinte ligação para obter mais detalhes sobre como a métrica é calculada: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html

log_confusion_matrix(name, value, description='')

Parâmetros

Name Description
name
Necessário
str

O nome da matriz de confusão.

value
Necessário
str ou dict

JSON que contém propriedades de nome, versão e dados.

description
Necessário
str

Uma descrição de métrica opcional.

Observações

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

Registe uma métrica de imagem no registo de execução.

log_image(name, path=None, plot=None, description='')

Parâmetros

Name Description
name
Necessário
str

O nome da métrica.

path
Necessário
str

O caminho ou fluxo da imagem.

plot
Necessário
<xref:matplotlib.pyplot>

O gráfico a registar como uma imagem.

description
Necessário
str

Uma descrição de métrica opcional.

Observações

Utilize este método para registar um ficheiro de imagem ou um gráfico matplotlib para a execução. Estas imagens serão visíveis e comparáveis no registo de execução.

log_list

Registe uma lista de valores de métricas na execução com o nome especificado.

log_list(name, value, description='')

Parâmetros

Name Description
name
Necessário
str

O nome da métrica.

value
Necessário

Os valores da métrica.

description
Necessário
str

Uma descrição de métrica opcional.

log_predictions

Registar predições no arquivo de artefactos.

Isto regista uma classificação de métrica que pode ser utilizada para comparar as distribuições de valores de destino verdadeiros com a distribuição de valores previstos para uma tarefa de regressão.

As predições são discretizadas e os desvios padrão são calculados para barras de erro num gráfico de linhas.

log_predictions(name, value, description='')

Parâmetros

Name Description
name
Necessário
str

O nome das predições.

value
Necessário
str ou dict

JSON que contém propriedades de nome, versão e dados.

description
Necessário
str

Uma descrição de métrica opcional.

Observações

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

Registar residuais no arquivo de artefactos.

Isto regista os dados necessários para apresentar um histograma de residuais para uma tarefa de regressão. Os residuais são previstos - real.

Deve existir mais uma margem do que o número de contagens. Veja a documentação do histograma numpy para obter exemplos de utilização de contagens e arestas para representar um histograma. https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html

log_residuals(name, value, description='')

Parâmetros

Name Description
name
Necessário
str

O nome dos residuais.

value
Necessário
str ou dict

JSON que contém propriedades de nome, versão e dados.

description
Necessário
str

Uma descrição de métrica opcional.

Observações

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

Registe uma métrica de linha na execução com o nome especificado.

log_row(name, description=None, **kwargs)

Parâmetros

Name Description
name
Necessário
str

O nome da métrica.

description
str

Uma descrição de métrica opcional.

valor predefinido: None
kwargs
Necessário

Um dicionário de parâmetros adicionais. Neste caso, as colunas da métrica.

Observações

Utilizar 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 registar uma cadeia de identificação arbitrária ou várias vezes num ciclo 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

Registe uma métrica de tabela na execução com o nome especificado.

log_table(name, value, description='')

Parâmetros

Name Description
name
Necessário
str

O nome da métrica.

value
Necessário

O valor da tabela da métrica, um dicionário onde as chaves são colunas a publicar no serviço.

description
Necessário
str

Uma descrição de métrica opcional.

register_model

Registar 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

Name Description
model_name
Necessário
str

O nome do modelo.

model_path
str

O caminho relativo da cloud para o modelo, por exemplo, "outputs/modelname". Quando não especificado (Nenhum), model_name é utilizado como o caminho.

valor predefinido: None
tags

Um dicionário de etiquetas de valor de chave a atribuir ao modelo.

valor predefinido: None
properties

Um dicionário de propriedades de valor de chave a atribuir ao modelo. Estas propriedades não podem ser alteradas após a criação do modelo, no entanto, podem ser adicionados novos pares de valores chave.

valor predefinido: None
model_framework
str

A arquitetura do modelo a registar. Arquiteturas atualmente suportadas: TensorFlow, ScikitLearn, Onnx, Custom, Multi

valor predefinido: None
model_framework_version
str

A versão de arquitetura do modelo registado.

valor predefinido: None
description
str

Uma descrição opcional do modelo.

valor predefinido: None
datasets

Uma lista de cadeias de identificação onde o primeiro elemento descreve a relação dataset-model e o segundo elemento é o conjunto de dados.

valor predefinido: None
sample_input_dataset

Opcional. Conjunto de dados de entrada de exemplo para o modelo registado

valor predefinido: None
sample_output_dataset

Opcional. Conjunto de dados de saída de exemplo para o modelo registado

valor predefinido: None
resource_configuration

Opcional. Configuração de recursos para executar o modelo registado

valor predefinido: None
kwargs
Necessário

Parâmetros opcionais.

Devoluções

Tipo Description

O modelo registado.

Observações


   model = best_run.register_model(model_name = 'best_model', model_path = 'outputs/model.pkl')

remove_tags

Elimine a lista de etiquetas mutáveis nesta execução.

remove_tags(tags)

Parâmetros

Name Description
tags
Necessário

Uma lista de etiquetas a remover.

Devoluções

Tipo Description

As etiquetas armazenadas no objeto de execução

restore_snapshot

Restaurar um instantâneo como um ficheiro ZIP. Devolve o caminho para o ZIP.

restore_snapshot(snapshot_id=None, path=None)

Parâmetros

Name Description
snapshot_id
str

O ID do instantâneo a restaurar. A versão mais recente é utilizada se não for especificada.

valor predefinido: None
path
str

O caminho onde o ZIP transferido é guardado.

valor predefinido: None

Devoluções

Tipo Description
str

O caminho.

set_tags

Adicionar ou modificar um conjunto de etiquetas em execução. As etiquetas não transmitidas no dicionário são deixadas intocadas.

Também pode adicionar etiquetas de cadeia simples. Quando estas etiquetas aparecem no dicionário de etiquetas como chaves, têm um valor de Nenhum. Para obter mais informações, consulte Etiquetar e localizar execuções.

set_tags(tags)

Parâmetros

Name Description
tags
Necessário
dict[str] ou str

As etiquetas armazenadas no objeto de execução.

start

Marcar a execução como iniciada.

Normalmente, isto é utilizado em cenários avançados quando a execução foi criada por outro ator.

start()

submit_child

Submeta uma experimentação e devolva a execução subordinada ativa.

submit_child(config, tags=None, **kwargs)

Parâmetros

Name Description
config
Necessário

A configuração a submeter.

tags

Etiquetas a adicionar à execução submetida, por exemplo, {"tag": "value"}.

valor predefinido: None
kwargs
Necessário

Parâmetros adicionais utilizados na função submit para configurações.

Devoluções

Tipo Description
Run

Um objeto de execução.

Observações

Submeter é uma chamada assíncrona para a plataforma do Azure Machine Learning para executar uma avaliação em hardware local ou remoto. Consoante a configuração, a submissão irá preparar automaticamente os ambientes de execução, executar o código e capturar o código fonte e os resultados no histórico de execuções da experimentação.

Para submeter uma experimentação, primeiro tem de criar um objeto de configuração que descreva como a experimentação deve ser executada. A configuração depende do tipo de avaliação necessário.

Um exemplo de como submeter uma experimentação subordinada a partir do seu computador local com 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 e um valor de cadeia opcional.

tag(key, value=None)

Parâmetros

Name Description
key
Necessário
str

A chave de etiqueta

value
str

Um valor opcional para a etiqueta

valor predefinido: None

Observações

As etiquetas e propriedades numa execução são ambos dicionários de cadeia -> cadeia. A diferença entre as mesmas é a mutabilidade: as etiquetas podem ser definidas, atualizadas e eliminadas, enquanto as Propriedades só podem ser adicionadas. Isto torna as Propriedades mais adequadas para acionadores de comportamento relacionados com o sistema/fluxo de trabalho, enquanto as Etiquetas são geralmente direcionadas para o utilizador e significativas para os consumidores da experimentação.


   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

Guarde um instantâneo do ficheiro ou pasta de entrada.

take_snapshot(file_or_folder_path)

Parâmetros

Name Description
file_or_folder_path
Necessário
str

O ficheiro ou pasta que contém o código fonte de execução.

Devoluções

Tipo Description
str

Devolve o ID do instantâneo.

Observações

Os instantâneos destinam-se a ser o código fonte utilizado para executar a execução da experimentação. Estes são armazenados com a execução para que a versão de avaliação de execução possa ser replicada no futuro.

Nota

Os instantâneos são automaticamente tirados quando submit são chamados. Normalmente, este método de take_snapshot só é necessário para execuções interativas (blocos de notas).

upload_file

Carregue um ficheiro para o registo de execução.

upload_file(name, path_or_stream, datastore_name=None)

Parâmetros

Name Description
name
Necessário
str

O nome do ficheiro a carregar.

path_or_stream
Necessário
str

O caminho local relativo ou a transmissão em fluxo para o ficheiro a carregar.

datastore_name
Necessário
str

Nome opcional do Arquivo de Dados

Devoluções

Tipo Description

Observações


   run = experiment.start_logging()
   run.upload_file(name='important_file', path_or_stream="path/on/disk/file.txt")

Nota

É executado automaticamente o ficheiro de captura no diretório de saída especificado, que é predefinido para "./outputs" para a maioria dos tipos de execução. Utilize upload_file apenas quando precisar de carregar ficheiros adicionais ou se não for especificado um diretório de saída.

upload_files

Carregue ficheiros para o registo de execução.

upload_files(names, paths, return_artifacts=False, timeout_seconds=None, datastore_name=None)

Parâmetros

Name Description
names
Necessário

Os nomes dos ficheiros a carregar. Se estiver definido, os caminhos também têm de ser definidos.

paths
Necessário

Os caminhos locais relativos para os ficheiros a carregar. Se estiver definido, os nomes são necessários.

return_artifacts
Necessário

Indica que deve ser devolvido um objeto de artefacto para cada ficheiro carregado.

timeout_seconds
Necessário
int

O tempo limite para carregar ficheiros.

datastore_name
Necessário
str

Nome opcional do Arquivo de Dados

Observações

upload_files tem o mesmo efeito que upload_file em ficheiros separados, no entanto, existem benefícios de desempenho e utilização de recursos ao utilizar 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')

Nota

As execuções capturam automaticamente ficheiros no diretório de saída especificado, que predefine "./outputs" para a maioria dos tipos de execução. Utilize upload_files apenas quando precisar de carregar ficheiros adicionais ou se não for especificado um diretório de saída.

upload_folder

Carregue a pasta especificada para o nome do prefixo especificado.

upload_folder(name, path, datastore_name=None)

Parâmetros

Name Description
name
Necessário
str

O nome da pasta de ficheiros a carregar.

folder
Necessário
str

O caminho local relativo para a pasta a carregar.

datastore_name
Necessário
str

Nome do Arquivo de Dados Opcional

Observações


   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')

Nota

As execuções capturam automaticamente ficheiros no diretório de saída especificado, que predefine "./outputs" para a maioria dos tipos de execução. Utilize upload_folder apenas quando precisar de carregar ficheiros adicionais ou se não for especificado um diretório de saída.

wait_for_completion

Aguarde pela conclusão desta execução. Devolve o objeto de estado após a espera.

wait_for_completion(show_output=False, wait_post_processing=False, raise_on_error=True)

Parâmetros

Name Description
show_output

Indica se pretende mostrar o resultado da execução em sys.stdout.

valor predefinido: False
wait_post_processing

Indica se deve aguardar que o processamento pós-processamento seja concluído após a conclusão da execução.

valor predefinido: False
raise_on_error

Indica se é gerado um Erro quando a Execução está num estado de falha.

valor predefinido: True

Devoluções

Tipo Description

O objeto de estado.

Atributos

description

Devolver a descrição da execução.

A descrição opcional da execução é uma cadeia especificada pelo utilizador útil para descrever uma execução.

Devoluções

Tipo Description
str

A descrição da execução.

display_name

Devolver o nome a apresentar da execução.

O nome a apresentar opcional da execução é uma cadeia especificada pelo utilizador útil para uma identificação posterior da execução.

Devoluções

Tipo Description
str

O nome a apresentar da execução.

experiment

Obter experimentação que contenha a execução.

Devoluções

Tipo Description

Obtém a experimentação correspondente à execução.

id

Obtenha o ID de execução.

O ID da execução é um identificador exclusivo na experimentação que contém.

Devoluções

Tipo Description
str

O ID de execução.

name

PRETERIDO. Utilize display_name.

O nome opcional da execução é uma cadeia especificada pelo utilizador útil para uma identificação posterior da execução.

Devoluções

Tipo Description
str

O ID de execução.

number

Obter número de execução.

Um número monotonicamente crescente que representa a ordem das execuções numa experimentação.

Devoluções

Tipo Description
int

O número de execução.

parent

Obtenha a execução principal para esta execução a partir do serviço.

As execuções podem ter um elemento principal opcional, o que resulta numa potencial hierarquia de árvore de execuções. Para registar métricas numa execução principal, utilize o log método do objeto principal, por exemplo, run.parent.log().

Devoluções

Tipo Description
Run

A execução principal ou Nenhuma se não estiver definida.

properties

Devolver as propriedades imutáveis desta execução.

Devoluções

Tipo Description
dict[str],
str

As propriedades em cache local da execução.

Observações

As propriedades incluem informações imutáveis geradas pelo sistema, como duração, data de execução, utilizador, etc.

status

Devolver o estado do objeto de execução.

tags

Devolva o conjunto de etiquetas mutáveis nesta execução.

Devoluções

Tipo Description

As etiquetas armazenadas no objeto de execução.

type

Obter tipo de execução.

Indica como a execução foi criada ou configurada.

Devoluções

Tipo Description
str

O tipo de execução.