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

experiment
Experiment
Necessário

A experimentação que contém.

run_id
str
Necessário

O ID da execução.

outputs
str
valor predefinido: None

As saídas a controlar.

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

Apenas utilização interna.

kwargs
dict
Necessário

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

experiment
Experiment
Necessário

A experimentação que contém.

run_id
str
Necessário

O ID da execução.

outputs
str
Necessário

As saídas a controlar.

kwargs
dict
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

properties
dict
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

runtype
str
Necessário

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
<xref:function>
Necessário

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
str
valor predefinido: None

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

run_id
str
valor predefinido: None

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

outputs
str
valor predefinido: None

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

Devoluções

A criança corre.

Tipo de retorno

Run

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

Uma lista de ficheiros eliminados.

Tipo de retorno

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

_set_status
bool
valor predefinido: True

Indica se pretende enviar o evento de estado para controlo.

create_children

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

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

Parâmetros

count
int
valor predefinido: None

Um número opcional de subordinados a criar.

tag_key
str
valor predefinido: None

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

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

A lista de execuções subordinadas.

Tipo de retorno

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
str
Necessário

O nome do artefacto a transferir.

output_file_path
str
Necessário

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

prefix
str
Necessário

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

output_directory
str
Necessário

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

output_paths
[str]
Necessário

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

batch_size
int
Necessário

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

append_prefix
bool
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
int
Necessário

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

error_details
str ou BaseException
valor predefinido: None

Detalhes opcionais do erro.

error_code
str
valor predefinido: None

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

_set_status
bool
valor predefinido: True

Indica se pretende enviar o evento de estado para controlo.

flush

Aguarde que a fila de tarefas seja processada.

flush(timeout_seconds=300)

Parâmetros

timeout_seconds
int
valor predefinido: 300

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

get

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

static get(workspace, run_id)

Parâmetros

workspace
Workspace
Necessário

A área de trabalho que contém.

run_id
string
Necessário

O ID de execução.

Devoluções

A execução submetida.

Tipo de retorno

Run

get_all_logs

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

get_all_logs(destination=None)

Parâmetros

destination
str
valor predefinido: None

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.

Devoluções

Uma lista de nomes de registos transferidos.

Tipo de retorno

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

recursive
bool
valor predefinido: False

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

tags
str ou dict
valor predefinido: None

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

properties
str ou dict
valor predefinido: None

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

type
str
valor predefinido: None

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

status
str
valor predefinido: None

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

_rehydrate_runs
bool
valor predefinido: True

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

Devoluções

Uma lista de Run objetos.

Tipo de retorno

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

cls
Necessário

Indica o método de classe.

allow_offline
bool
valor predefinido: True

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.

kwargs
dict
Necessário

Um dicionário de parâmetros adicionais.

used_for_context_manager
valor predefinido: False

Devoluções

A execução submetida.

Tipo de retorno

Run

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

O estado e os detalhes mais recentes

Tipo de retorno

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

Devolver os detalhes da execução

Tipo de retorno

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

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

Tipo de retorno

get_environment

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

get_environment()

Devoluções

Devolver o objeto de ambiente.

Tipo de retorno

get_file_names

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

get_file_names()

Devoluções

A lista de caminhos para artefactos existentes

Tipo de retorno

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
str
valor predefinido: None

O nome da métrica.

recursive
bool
valor predefinido: False

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

run_type
str
valor predefinido: None
populate
bool
valor predefinido: False

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

Devoluções

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

Tipo de retorno

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

As propriedades da execução.

Tipo de retorno

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
str
Necessário

O nome do segredo para o qual devolver um segredo.

Devoluções

O valor do segredo.

Tipo de retorno

str

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

secrets
list[str]
Necessário

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

Devoluções

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

Tipo de retorno

dict[<xref:str: str>]

get_snapshot_id

Obtenha o ID de instantâneo mais recente.

get_snapshot_id()

Devoluções

O ID de instantâneo mais recente.

Tipo de retorno

str

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

O estado mais recente.

Tipo de retorno

str

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

A execução submetida.

Tipo de retorno

Run

get_tags

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

get_tags()

Devoluções

As etiquetas armazenadas no objeto de execução.

Tipo de retorno

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

experiment
Experiment
Necessário

A experimentação que contém.

type
str
valor predefinido: None

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

tags
str ou dict
valor predefinido: None

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

properties
str ou dict
valor predefinido: None

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

status
str
valor predefinido: None

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

include_children
bool
valor predefinido: False

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

_rehydrate_runs
bool
valor predefinido: True

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.

Devoluções

Uma lista de execuções.

Tipo de retorno

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

compute
ComputeTarget
Necessário

A computação que contém.

type
str
valor predefinido: None

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

tags
str ou dict
valor predefinido: None

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

properties
str ou dict
valor predefinido: None

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

status
str
valor predefinido: None

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

Devoluções

um gerador de ~_restclient.models.RunDto

Tipo de retorno

<xref:builtin.generator>

log

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

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

Parâmetros

name
str
Necessário

O nome da métrica.

value
Necessário

O valor a publicar no serviço.

description
str
Necessário

Uma descrição de métrica opcional.

step
int
valor predefinido: None

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

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
str
Necessário

O nome da tabela de precisão.

value
str ou dict
Necessário

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

description
str
Necessário

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
str
Necessário

O nome da matriz de confusão.

value
str ou dict
Necessário

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

description
str
Necessário

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
str
Necessário

O nome da métrica.

path
str
Necessário

O caminho ou fluxo da imagem.

plot
<xref:matplotlib.pyplot>
Necessário

O gráfico a registar como uma imagem.

description
str
Necessário

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
str
Necessário

O nome da métrica.

value
list
Necessário

Os valores da métrica.

description
str
Necessário

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
str
Necessário

O nome das predições.

value
str ou dict
Necessário

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

description
str
Necessário

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
str
Necessário

O nome dos residuais.

value
str ou dict
Necessário

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

description
str
Necessário

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
str
Necessário

O nome da métrica.

description
str
valor predefinido: None

Uma descrição de métrica opcional.

kwargs
dict
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
str
Necessário

O nome da métrica.

value
dict
Necessário

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

description
str
Necessário

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

model_name
str
Necessário

O nome do modelo.

model_path
str
valor predefinido: None

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

tags
dict[str, str]
valor predefinido: None

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

properties
dict[str, str]
valor predefinido: None

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.

model_framework
str
valor predefinido: None

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

model_framework_version
str
valor predefinido: None

A versão de arquitetura do modelo registado.

description
str
valor predefinido: None

Uma descrição opcional do modelo.

datasets
list[(str, AbstractDataset)]
valor predefinido: None

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.

sample_input_dataset
AbstractDataset
valor predefinido: None

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

sample_output_dataset
AbstractDataset
valor predefinido: None

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

resource_configuration
ResourceConfiguration
valor predefinido: None

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

kwargs
dict
Necessário

Parâmetros opcionais.

Devoluções

O modelo registado.

Tipo de retorno

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

tags
list
Necessário

Uma lista de etiquetas a remover.

Devoluções

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

snapshot_id
str
valor predefinido: None

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

path
str
valor predefinido: None

O caminho onde o ZIP transferido é guardado.

Devoluções

O caminho.

Tipo de retorno

str

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

tags
dict[str] ou str
Necessário

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

config
object
Necessário

A configuração a submeter.

tags
dict
valor predefinido: None

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

kwargs
dict
Necessário

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

Devoluções

Um objeto de execução.

Tipo de retorno

Run

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

key
str
Necessário

A chave de etiqueta

value
str
valor predefinido: None

Um valor opcional para a etiqueta

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

file_or_folder_path
str
Necessário

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

Devoluções

Devolve o ID do instantâneo.

Tipo de retorno

str

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
str
Necessário

O nome do ficheiro a carregar.

path_or_stream
str
Necessário

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

datastore_name
str
Necessário

Nome opcional do Arquivo de Dados

Tipo de retorno

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

names
list
Necessário

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

paths
list
Necessário

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

return_artifacts
bool
Necessário

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

timeout_seconds
int
Necessário

O tempo limite para carregar ficheiros.

datastore_name
str
Necessário

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
str
Necessário

O nome da pasta de ficheiros a carregar.

folder
str
Necessário

O caminho local relativo para a pasta a carregar.

datastore_name
str
Necessário

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

show_output
bool
valor predefinido: False

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

wait_post_processing
bool
valor predefinido: False

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

raise_on_error
bool
valor predefinido: True

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

Devoluções

O objeto de estado.

Tipo de retorno

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

A descrição da execução.

Tipo de retorno

str

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

O nome a apresentar da execução.

Tipo de retorno

str

experiment

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

Devoluções

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

Tipo de retorno

id

Obtenha o ID de execução.

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

Devoluções

O ID de execução.

Tipo de retorno

str

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

O ID de execução.

Tipo de retorno

str

number

Obter número de execução.

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

Devoluções

O número de execução.

Tipo de retorno

int

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

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

Tipo de retorno

Run

properties

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

Devoluções

As propriedades em cache local da execução.

Tipo de retorno

dict[str],
str

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

As etiquetas armazenadas no objeto de execução.

Tipo de retorno

type

Obter tipo de execução.

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

Devoluções

O tipo de execução.

Tipo de retorno

str