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, métricas de registo e armazenar a saída da versão de avaliação e para analisar os resultados e aceder aos artefactos gerados pela versão de 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. Também é criado um objeto Executar quando o utilizador 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._RunBaseRun
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
|
O ID da execução. |
outputs
|
As saídas a serem controladas. Default value: 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
|
O ID da execução. |
outputs
Necessário
|
As saídas a serem controladas. |
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 armazenar a saída da versão de avaliação e para analisar os resultados e aceder aos artefactos gerados pela avaliação.
A execução é utilizada no 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 experimentações para monitorizar o progresso e 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 experimentação, como quando 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:
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 na 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 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.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 as 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 |
Gancho 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 conjunto cancel_uri campo, termine essa tarefa também. |
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 muitas execuções subordinados. |
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 Erro da execução com uma mensagem ou exceção transmitida para |
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 todas as crianças para a execução atual selecionada 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 |
get_detailed_status |
Obtenha o estado mais recente da execução. Se o estado da execução for "Em fila", irá mostrar os detalhes. |
get_details |
Obtenha a definição, informações de estado, 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 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 |
get_properties |
Obtenha as propriedades mais recentes da execução a partir do serviço. |
get_secret |
Obtenha o valor secreto 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:
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 as 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
Gancho de extensibilidade para tipos de Execução personalizados armazenados no Histórico de Execuções.
static add_type_provider(runtype, run_factory)
Parâmetros
Name | Description |
---|---|
runtype
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
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 conjunto cancel_uri campo, termine essa tarefa também.
cancel()
child_run
Criar uma execução subordinada.
child_run(name=None, run_id=None, outputs=None)
Parâmetros
Name | Description |
---|---|
name
|
Um nome opcional para a execução subordinada, normalmente especificado para uma "parte". Default value: None
|
run_id
|
Um ID de execução opcional para o menor, caso contrário, é gerado automaticamente. Normalmente, este parâmetro não está definido. Default value: None
|
outputs
|
Diretório de saídas opcionais para controlar o menor. Default value: None
|
Devoluções
Tipo | Description |
---|---|
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 um diretório de saída estiver definido para a execução subordinada, o conteúdo desse diretório será carregado para o registo de execução subordinado quando o menor for 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. Default value: True
|
create_children
Crie uma ou muitas execuções subordinados.
create_children(count=None, tag_key=None, tag_values=None)
Parâmetros
Name | Description |
---|---|
count
|
Um número opcional de crianças a criar. Default value: None
|
tag_key
|
Uma chave opcional para preencher a entrada Etiquetas em todas as crianças criadas. Default value: None
|
tag_Values
Necessário
|
Uma lista opcional de valores que será mapeado para Etiquetas[tag_key] para a lista de execuções criadas. |
tag_values
|
Default value: None
|
Devoluções
Tipo | Description |
---|---|
A lista de execuções subordinadas. |
Observações
O parâmetro count
OU os parâmetros tag_key
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
|
O nome do artefacto a transferir. |
output_file_path
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
Name | Description |
---|---|
prefix
Necessário
|
O prefixo do caminho de ficheiro no contentor a partir do qual pode transferir todos os artefactos. |
output_directory
Necessário
|
Um diretório opcional que todos os caminhos de artefacto 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
|
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 de ficheiro de saída final. Se For Falso, o prefixo é removido do caminho do ficheiro de saída. |
timeout_seconds
Necessário
|
O tempo limite para transferir ficheiros. |
fail
Marcar a execução como falhada.
Opcionalmente, defina a propriedade Erro 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
|
str ou
BaseException
Detalhes opcionais do erro. Default value: None
|
error_code
|
Código de erro opcional do erro para a classificação de erros. Default value: None
|
_set_status
|
Indica se pretende enviar o evento de estado para controlo. Default value: True
|
flush
Aguarde que a fila de tarefas seja processada.
flush(timeout_seconds=300)
Parâmetros
Name | Description |
---|---|
timeout_seconds
|
Quanto tempo de espera (em segundos) para que a fila de tarefas seja processada. Default value: 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 |
---|---|
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
|
O caminho de destino para armazenar registos. Se não for especificado, é criado um diretório denominado ID de execução no diretório do projeto. Default value: None
|
Devoluções
Tipo | Description |
---|---|
Uma lista de nomes de registos transferidos. |
get_children
Obtenha todas as crianças para a execução atual selecionada por filtros especificados.
get_children(recursive=False, tags=None, properties=None, type=None, status=None, _rehydrate_runs=True)
Parâmetros
Name | Description |
---|---|
recursive
|
Indica se deve voltar a ocorrer através de todos os descendentes. Default value: False
|
tags
|
Se especificado, devolve execuções correspondentes a "tag" ou {"tag": "value"}. Default value: None
|
properties
|
Se especificado, devolve execuções correspondentes a "propriedade" ou {"property": "value"}. Default value: None
|
type
|
Se especificado, devolve execuções correspondentes a este tipo. Default value: None
|
status
|
Se especificado, devolve execuções com o estado especificado como "estado". Default value: None
|
_rehydrate_runs
|
Indica se deve instanciar uma execução do tipo original ou da execução base. Default value: 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 de forma 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
|
Permitir que o contexto do serviço recue para o modo offline para que o script de preparação possa ser testado localmente sem submeter uma tarefa com o SDK. Verdadeiro por predefinição. Default value: True
|
kwargs
Necessário
|
Um dicionário de parâmetros adicionais. |
used_for_context_manager
|
Default value: False
|
Devoluções
Tipo | Description |
---|---|
A execução submetida. |
Observações
Esta função é normalmente 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", irá mostrar 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 para o 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, informações de estado, 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 imutáveis chave-valor 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 existirem). 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
submittedBy
run = experiment.start_logging()
details = run.get_details()
# details = {
# 'runId': '5c24aa28-6e4a-4572-96a0-fb522d26fe2d',
# 'target': 'sdk',
# 'status': 'Running',
# 'startTimeUtc': '2019-01-01T13:08:01.713777Z',
# 'endTimeUtc': '2019-01-01T17:15:65.986253Z',
# 'properties': {
# 'azureml.git.repository_uri': 'https://example.com/my/git/repo',
# 'azureml.git.branch': 'master',
# 'azureml.git.commit': '7dc972657c2168927a02c3bc2b161e0f370365d7',
# 'azureml.git.dirty': 'True',
# 'mlflow.source.git.repoURL': 'https://example.com/my/git/repo',
# 'mlflow.source.git.branch': 'master',
# 'mlflow.source.git.commit': '7dc972657c2168927a02c3bc2b161e0f370365d7',
# 'ContentSnapshotId': 'b4689489-ce2f-4db5-b6d7-6ad11e77079c'
# },
# 'inputDatasets': [{
# 'dataset': {'id': 'cdebf245-701d-4a68-8055-41f9cf44f298'},
# 'consumptionDetails': {
# 'type': 'RunInput',
# 'inputName': 'training-data',
# 'mechanism': 'Mount',
# 'pathOnCompute': '/mnt/datasets/train'
# }
# }],
# 'outputDatasets': [{
# 'dataset': {'id': 'd04e8a19-1caa-4b1f-b318-4cbff9af9615'},
# 'outputType': 'RunOutput',
# 'outputDetails': {
# 'outputName': 'training-result'
# }
# }],
# 'runDefinition': {},
# 'logFiles': {},
# 'submittedBy': 'Alan Turing'
# }
get_details_with_logs
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 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
|
O nome da métrica. Default value: None
|
recursive
|
Indica se deve voltar a ocorrer através de todos os descendentes. Default value: False
|
run_type
|
Default value: None
|
populate
|
Indica se pretende obter o conteúdo de dados externos ligados à métrica. Default value: 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 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 secreto 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
|
O nome do segredo para o qual devolver um segredo. |
Devoluções
Tipo | Description |
---|---|
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 |
---|---|
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 |
---|---|
O estado mais recente. |
Observações
NotStarted - Trata-se de um estado temporário em que os objetos Run 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 tarefas.
Preparação – O ambiente de execução está a ser preparado:
compilação de imagens 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 |
---|---|
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
|
Se especificado, devolve execuções correspondentes ao tipo especificado. Default value: None
|
tags
|
Se especificado, devolve execuções correspondentes às especificadas "tag" ou {"tag": "value"}. Default value: None
|
properties
|
Se especificado, devolve execuções correspondentes a "propriedade" ou {"property": "value"}. Default value: None
|
status
|
Se especificado, devolve execuções com o estado especificado como "status". Default value: None
|
include_children
|
Se estiver definido como verdadeiro, obtenha todas as execuções e não apenas as de nível superior. Default value: 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. Default value: 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
|
Se especificado, devolve execuções correspondentes ao tipo especificado. Default value: None
|
tags
|
Se especificado, devolve execuções correspondentes às especificadas "tag" ou {"tag": "value"}. Default value: None
|
properties
|
Se especificado, devolve execuções correspondentes a "propriedade" ou {"property": "value"}. Default value: None
|
status
|
Se especificado, devolve execuções com o estado especificado como "status". Apenas os valores permitidos são "Em execução" e "Em fila". Default value: 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
|
O nome da métrica. |
value
Necessário
|
O valor a publicar no serviço. |
description
Necessário
|
Uma descrição de métrica opcional. |
step
|
Um eixo opcional para especificar a ordem dos valores numa métrica. Default value: 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
|
O nome da tabela de precisão. |
value
Necessário
|
JSON que contém propriedades de nome, versão e dados. |
description
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 | Description |
---|---|
name
Necessário
|
O nome da matriz de confusão. |
value
Necessário
|
JSON que contém propriedades de nome, versão e dados. |
description
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 | Description |
---|---|
name
Necessário
|
O nome da métrica. |
path
Necessário
|
O caminho ou fluxo da imagem. |
plot
Necessário
|
<xref:matplotlib.pyplot>
O gráfico a registar como uma imagem. |
description
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 | Description |
---|---|
name
Necessário
|
O nome da métrica. |
value
Necessário
|
Os valores da métrica. |
description
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 | Description |
---|---|
name
Necessário
|
O nome das predições. |
value
Necessário
|
JSON que contém propriedades de nome, versão e dados. |
description
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 | Description |
---|---|
name
Necessário
|
O nome dos residuais. |
value
Necessário
|
JSON que contém propriedades de nome, versão e dados. |
description
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 | Description |
---|---|
name
Necessário
|
O nome da métrica. |
description
|
Uma descrição de métrica opcional. Default value: 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
|
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
|
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
|
O nome do modelo. |
model_path
|
O caminho relativo da cloud para o modelo, por exemplo, "outputs/modelname".
Quando não especificado (Nenhum), Default value: None
|
tags
|
Um dicionário de etiquetas de valor de chave a atribuir ao modelo. Default value: 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. Default value: None
|
model_framework
|
A arquitetura do modelo a registar. Arquiteturas atualmente suportadas: TensorFlow, ScikitLearn, Onnx, Custom, Multi Default value: None
|
model_framework_version
|
A versão de arquitetura do modelo registado. Default value: None
|
description
|
Uma descrição opcional do modelo. Default value: 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. Default value: None
|
sample_input_dataset
|
Opcional. Conjunto de dados de entrada de exemplo para o modelo registado Default value: None
|
sample_output_dataset
|
Opcional. Conjunto de dados de saída de exemplo para o modelo registado Default value: None
|
resource_configuration
|
Opcional. Configuração de recursos para executar o modelo registado Default value: 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
|
O ID do instantâneo a restaurar. A versão mais recente é utilizada se não for especificada. Default value: None
|
path
|
O caminho onde o ZIP transferido é guardado. Default value: None
|
Devoluções
Tipo | Description |
---|---|
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
|
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"}. Default value: None
|
kwargs
Necessário
|
Parâmetros adicionais utilizados na função submit para configurações. |
Devoluções
Tipo | Description |
---|---|
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
|
A chave de etiqueta |
value
|
Um valor opcional para a etiqueta Default value: 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
|
O ficheiro ou pasta que contém o código fonte de execução. |
Devoluções
Tipo | Description |
---|---|
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
|
O nome do ficheiro a carregar. |
path_or_stream
Necessário
|
O caminho local relativo ou a transmissão em fluxo para o ficheiro a carregar. |
datastore_name
Necessário
|
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
|
O tempo limite para carregar ficheiros. |
datastore_name
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 é predefinido para "./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
|
O nome da pasta de ficheiros a carregar. |
folder
Necessário
|
O caminho local relativo para a pasta a carregar. |
datastore_name
Necessário
|
Nome opcional do Arquivo de Dados |
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 é predefinido para "./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. Default value: False
|
wait_post_processing
|
Indica se deve aguardar a conclusão do pós-processamento após a conclusão da execução. Default value: False
|
raise_on_error
|
Indica se é gerado um Erro quando a execução está num estado de falha. Default value: True
|
Devoluções
Tipo | Description |
---|---|
O objeto de estado. |
Atributos
description
Devolva 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 |
---|---|
A descrição da execução. |
display_name
Devolva o nome a apresentar da execução.
O nome a apresentar opcional da execução é uma cadeia especificada pelo utilizador útil para identificação posterior da execução.
Devoluções
Tipo | Description |
---|---|
O nome a apresentar da execução. |
experiment
Obtenha a experimentação que contém 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 |
---|---|
O ID de execução. |
name
PRETERIDO. Utilize display_name.
O nome opcional da execução é uma cadeia especificada pelo utilizador útil para identificação posterior da execução.
Devoluções
Tipo | Description |
---|---|
O ID de execução. |
number
Obtenha o número de execução.
Um número monotonicamente crescente que representa a ordem das execuções numa experimentação.
Devoluções
Tipo | Description |
---|---|
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 árvores 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 |
---|---|
A execução principal ou Nenhuma se não estiver definida. |
properties
Devolva as propriedades imutáveis desta execução.
Devoluções
Tipo | Description |
---|---|
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 |
---|---|
O tipo de execução. |