Run Classe
Define a classe base para todas as experiências de Aprendizagem automática Azure.
Uma corrida representa um único julgamento de uma experiência. As execuções são usadas para monitorizar a execução assíncronea de um ensaio, métricas de registo e saída de loja do ensaio, e para analisar resultados e aceder a artefactos gerados pelo ensaio.
Os objetos de execução são criados quando submete um script para treinar um modelo em muitos cenários diferentes em Azure Machine Learning, incluindo corridas de HyperDrive, corridas de Pipeline e corridas de AutoML. Um objeto Run também é criado quando você submit ou start_logging com a Experiment classe.
Para começar com experiências e corridas, ver
- Herança
-
azureml._run_impl.run_base._RunBaseRun
Construtor
Run(experiment, run_id, outputs=None, **kwargs)
Parâmetros
- _run_dto
- <xref:azureml._restclient.models.run_dto.RunDto>
Uso interno apenas.
Observações
Uma corrida representa um único julgamento de uma experiência. Um objeto Run é usado para monitorizar a execução assíncronea de um ensaio, registar métricas e armazenar a saída do ensaio, e analisar resultados e aceder a artefactos gerados pelo ensaio.
O run é usado dentro do seu código de experimentação para registar métricas e artefactos para o serviço de História da Execução.
A execução é usada fora das suas experiências para monitorizar o progresso e para consultar e analisar as métricas e resultados que foram gerados.
A funcionalidade do Run inclui:
Armazenar e recuperar métricas e dados
Carregar e descarregar ficheiros
Usando tags, bem como a hierarquia infantil para fácil lookup de corridas passadas
Registar ficheiros de modelos armazenados como um modelo que pode ser operacionalizado
Armazenar, modificar e recuperar propriedades de uma corrida
Carregar a corrente de um ambiente remoto com o get_context método
Instantâneo eficientemente de um ficheiro ou diretório para a reprodutibilidade
Esta classe trabalha com os Experiment nestes cenários:
Criar uma execução executando código usando submit
Criar uma corrida interativamente em um caderno usando start_logging
Registar métricas e carregar artefactos na sua experiência, como quando se utiliza log
Métricas de leitura e descarregamento de artefactos ao analisar resultados experimentais, tais como quando se utiliza get_metrics
Para submeter uma execução, crie um objeto de configuração que descreva como a experiência é executada. Aqui estão 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 corrida enquanto treina uma experiência.
Escala
Faça um registo de um valor numérico ou de corda para a execução com o nome próprio usando log. Registar uma métrica para uma corrida faz com que a métrica seja armazenada no registo de execução na experiência. Pode registar a mesma métrica várias vezes dentro de uma corrida, sendo o resultado considerado um vetor dessa métrica.
Exemplo:
run.log("accuracy", 0.95)
Lista
Faça um registo de uma lista de valores para a execução com o nome próprio usando log_list.
Exemplo:
run.log_list("accuracies", [0.6, 0.7, 0.87])
Linha
A utilização log_row cria uma métrica com várias colunas, conforme descrito em
kwargs
. Cada parâmetro nomeado gera uma coluna com o valor especificado.log_row
pode ser chamado uma vez para registar um tuple arbitrário, ou várias vezes em um loop para gerar uma tabela completa.Exemplo:
run.log_row("Y over X", x=1, y=0.4)
Tabela
Faça um registo de um objeto dicionário para a execução com o nome próprio usando log_table.
Exemplo:
run.log_table("Y over X", {"x":[1, 2, 3], "y":[0.6, 0.7, 0.89]})
Imagem
Inicie uma imagem no registo de execução. Use log_image para registar um ficheiro de imagem ou um enredo de 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 (ambas dict[str, str]) diferem na sua mutabilidade. As propriedades são imutáveis, por isso 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 Tag e encontre runs. |
add_type_provider |
Gancho de extensibilidade para tipos de execução personalizados armazenados em Run History. |
cancel |
Marque a corrida como cancelado. Se houver um trabalho associado com um campo de cancel_uri definido, termine também esse trabalho. |
child_run |
Criar uma corrida para crianças. |
clean |
Remova os ficheiros correspondentes à corrente do alvo especificado na configuração de execução. |
complete |
Aguarde que a fila de tarefas seja processada. Em seguida, a execução é marcada como concluído. Isto é normalmente usado em cenários de cadernos interativos. |
create_children |
Crie uma ou muitas corridas de crianças. |
download_file |
Descarregue um ficheiro associado do armazenamento. |
download_files |
Descarregue ficheiros a partir de um prefixo de armazenamento (nome de pasta) ou de todo o recipiente se o prefixo não for especificado. |
fail |
Marque a corrida como falhou. Configurar opcionalmente a propriedade Error da execução com uma mensagem ou exceção passada a |
flush |
Aguarde que a fila de tarefas seja processada. |
get |
Faça a corrida para este espaço de trabalho com a sua identificação de execução. |
get_all_logs |
Baixe todos os registos para a corrida para um diretório. |
get_children |
Obtenha todas as crianças para a execução atual selecionadas por filtros especificados. |
get_context |
Devolva o contexto de serviço atual. Utilize este método para recuperar o contexto de serviço atual para registar métricas e carregar ficheiros. Se |
get_detailed_status |
Pegue o último estado da corrida. Se o estado da corrida for "Queued", 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 |
O estado da execução da devolução, incluindo o conteúdo do ficheiro de registo. |
get_environment |
Obtenha a definição ambiental que foi usada por esta corrida. |
get_file_names |
Listar os ficheiros que são armazenados em associação com a execução. |
get_metrics |
Recupere as métricas registadas na corrida. Se |
get_properties |
Pegue as mais recentes propriedades da corrida do serviço. |
get_secret |
Obtenha o valor secreto do contexto de uma corrida. Obtenha o valor secreto do nome fornecido. O nome secreto refere um valor armazenado em Azure Key Vault associado ao seu espaço de trabalho. Para um exemplo de trabalhar com segredos, consulte Use secrets em treinos. |
get_secrets |
Obtenha os valores secretos para uma dada lista de nomes secretos. Arranja um dicionário de segredos encontrados e não encontrados para a lista de nomes fornecidos. Cada nome secreto refere um valor armazenado em Azure Key Vault associado ao seu espaço de trabalho. Para um exemplo de trabalhar com segredos, consulte Use secrets em treinos. |
get_snapshot_id |
Obtenha a última foto instantânea. |
get_status |
Pegue o último estado da corrida. Os valores comuns devolvidos incluem "Running", "Complete", e "Failed". |
get_submitted_run |
PRECOTADO. Utilize get_context. Faça a apresentação para esta experiência. |
get_tags |
Pegue o mais recente conjunto de etiquetas mutáveis em fuga do serviço. |
list |
Obtenha uma lista de execuções numa experiência especificada por filtros opcionais. |
list_by_compute |
Obtenha uma lista de runs num cálculo especificado por filtros opcionais. |
log |
Registar um valor métrico para a corrida com o nome próprio. |
log_accuracy_table |
Faça um registo de precisão na loja de artefactos. A métrica da tabela de precisão é uma métrica multiusos, não-escalar que pode ser usada para produzir vários tipos de gráficos de linha que variam continuamente sobre o espaço de probabilidades previstas. Exemplos destes gráficos são ROC, recolha de precisão e curvas de elevação. 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 falsas positivas 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 usados para selecionar limiares: "probabilidade" e "percentil". Diferem na forma como experimentam do espaço de probabilidades previstas. Os limiares de probabilidade são limiares espaçados uniformemente entre 0 e 1. Se NUM_POINTS é 5, os limiares de probabilidade seriam [0,0, 0,25, 0,5, 0,75, 1.0]. Os limiares 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 é 5, então o primeiro limiar seria no percentil 0, o segundo no percentil 25, o terceiro no 50º, e assim por diante. As tabelas de probabilidade e tabelas percentil são ambas listas 3D onde a primeira dimensão representa o rótulo de classe, a segunda dimensão representa a amostra num limiar (escalas 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 repouso um vs. Consulte o seguinte link para mais detalhes: https://en.wikipedia.org/wiki/Multiclass_classification N = # de amostras em conjunto de dados de validação (200 em exemplo) M = # limiares = # amostras colhidas do espaço de probabilidade (5 por exemplo) C = # classes em conjunto de dados completo (3 por exemplo) Alguns invariantes da tabela de precisão:
Nota: M pode ser qualquer valor e controla a resolução dos gráficos Este é independente do conjunto de dados, é definido ao calcular métricas, e troca fora espaço de armazenamento, tempo de cálculo e resolução. As etiquetas de classe devem ser cordas, os valores de confusão devem ser inteiros, e os limiares devem ser flutuadores. |
log_confusion_matrix |
Faça uma confusão na loja de artefactos. Isto faz um invólucro à volta da matriz de confusão de sklearn. Os dados métricos contêm as etiquetas de classe e uma lista 2D para a própria matriz. Consulte o seguinte link para obter mais detalhes sobre como a métrica é calculada: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html |
log_image |
Faça um registo de imagem no registo de execução. |
log_list |
Faça um registo de uma lista de valores métricos para a execução com o nome próprio. |
log_predictions |
Registar previsões para a loja de artefactos. Isto regista uma pontuação métrica que pode ser usada para comparar as distribuições de valores-alvo verdadeiros com a distribuição de valores previstos para uma tarefa de regressão. As previsões são binadas e os desvios padrão são calculados para barras de erro num gráfico de linha. |
log_residuals |
Registar residuais na loja de artefactos. Isto regista os dados necessários para exibir uma histograma de residuais para uma tarefa de regressão. Os residuais estão previstos, reais. Deve haver mais uma vantagem do que o número de contagens. Por favor, consulte a documentação do histograma numpy para exemplos de utilização de contagens e bordas para representar um histograma. https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html |
log_row |
Faça um registo de linha métrica para a corrida com o nome próprio. |
log_table |
Faça um registo de uma tabela métrica para a corrida com o nome próprio. |
register_model |
Registar um modelo de operacionalização. |
remove_tags |
Elimine a lista de tags mutáveis nesta execução. |
restore_snapshot |
Restaurar uma imagem instantânea como ficheiro ZIP. Devolve o caminho para o ZIP. |
set_tags |
Adicione ou modifique um conjunto de tags em execução. As etiquetas não passadas no dicionário são deixadas intocadas. Também pode adicionar etiquetas de corda simples. Quando estas etiquetas aparecem no dicionário de etiquetas como teclas, têm um valor de Nenhum. Para mais informações, consulte Tag e encontre runs. |
start |
Marque a corrida como começou. Isto é normalmente usado em cenários avançados quando a corrida foi criada por outro ator. |
submit_child |
Submeta uma experiência e devolva a execução da criança ativa. |
tag |
Marque a execução com uma chave de corda e valor de corda opcional. |
take_snapshot |
Guarde uma imagem do ficheiro de entrada ou da pasta. |
upload_file |
Faça o upload de um ficheiro para o registo de execução. |
upload_files |
Faça o upload dos ficheiros para o registo de execução. |
upload_folder |
Faça o upload da pasta especificada para o nome prefixo dado. |
wait_for_completion |
Espere a conclusão desta corrida. Devolve o objeto de estado após a espera. |
add_properties
Adicione propriedades imutáveis à execução.
As etiquetas e propriedades (ambas dict[str, str]) diferem na sua mutabilidade. As propriedades são imutáveis, por isso 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 Tag e encontre runs.
add_properties(properties)
Parâmetros
add_type_provider
Gancho de extensibilidade para tipos de execução personalizados armazenados em Run History.
static add_type_provider(runtype, run_factory)
Parâmetros
- runtype
- str
O valor de Run.type para o qual a fábrica será invocada. Exemplos incluem 'hyperdrive' ou 'azureml.scriptrun', mas podem ser estendidos com tipos personalizados.
- run_factory
- <xref:function>
Uma função com assinatura (Experiment, RunDto) -> Corra para ser invocada quando a listagem for executada.
cancel
Marque a corrida como cancelado.
Se houver um trabalho associado com um campo de cancel_uri definido, termine também esse trabalho.
cancel()
child_run
Criar uma corrida para crianças.
child_run(name=None, run_id=None, outputs=None)
Parâmetros
- name
- str
Um nome opcional para a execução da criança, tipicamente especificado para uma "parte".
- run_id
- str
Um ID de execução opcional para a criança, caso contrário é gerado automaticamente. Normalmente, este parâmetro não está definido.
Devoluções
A criança fugiu.
Tipo de retorno
Observações
Isto é usado para isolar parte de uma corrida para uma subsecção. Isto pode ser feito para "partes" identificáveis de uma corrida que são interessantes para separar, ou para capturar métricas independentes através de uma interação de um subprocesso.
Se for definido um diretório de saída para a execução da criança, o conteúdo desse diretório será enviado para o registo de execução da criança quando a criança estiver concluída.
clean
Remova os ficheiros correspondentes à corrente do alvo especificado na configuração de execução.
clean()
Devoluções
Uma lista de ficheiros apagados.
Tipo de retorno
complete
Aguarde que a fila de tarefas seja processada.
Em seguida, a execução é marcada como concluído. Isto é normalmente usado em cenários de cadernos interativos.
complete(_set_status=True)
Parâmetros
create_children
Crie uma ou muitas corridas de crianças.
create_children(count=None, tag_key=None, tag_values=None)
Parâmetros
- tag_key
- str
Uma chave opcional para preencher a entrada tags em todas as crianças criadas.
- tag_Values
Uma lista opcional de valores que irá mapear em Tags[tag_key] para a lista de runs criadas.
- tag_values
Devoluções
A lista de crianças é.
Tipo de retorno
Observações
Ambos os parâmetros count
OU parâmetros tag_key
E tag_values
devem ser especificados.
download_file
Descarregue um ficheiro associado do armazenamento.
download_file(name, output_file_path=None, _validate_checksum=False)
Parâmetros
download_files
Descarregue ficheiros a partir de um prefixo de armazenamento (nome de pasta) ou de todo o recipiente 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
- output_directory
- str
Um diretório opcional que todos os caminhos dos artefactos usam como prefixo.
- output_paths
- [str]
Filepaths opcionais para armazenar os artefactos descarregados. Deve ser único e combinar o comprimento dos caminhos.
- batch_size
- int
O número de ficheiros para descarregar por lote. O padrão são 100 ficheiros.
- append_prefix
- bool
Uma bandeira opcional para anexar o prefixo especificado da trajetória final do ficheiro de saída. Se for falso, o prefixo é removido da trajetória do ficheiro de saída.
fail
Marque a corrida como falhou.
Configurar opcionalmente a propriedade Error da execução com uma mensagem ou exceção passada a error_details
.
fail(error_details=None, error_code=None, _set_status=True)
Parâmetros
- error_code
- str
Código de erro opcional do erro para a classificação de erro.
flush
Aguarde que a fila de tarefas seja processada.
flush(timeout_seconds=300)
Parâmetros
- timeout_seconds
- int
Quanto tempo esperar (em segundos) para que a fila de tarefas seja processada.
get
Faça a corrida para este espaço de trabalho com a sua identificação de execução.
static get(workspace, run_id)
Parâmetros
Devoluções
A corrida submetida.
Tipo de retorno
get_all_logs
Baixe todos os registos para a corrida para um diretório.
get_all_logs(destination=None)
Parâmetros
- destination
- str
O caminho de destino para armazenar registos. Se não for especificado, um diretório nomeado como ID de execução é criado no diretório do projeto.
Devoluções
Uma lista de nomes de registos descarregados.
Tipo de retorno
get_children
Obtenha todas as crianças para a execução atual selecionadas por filtros especificados.
get_children(recursive=False, tags=None, properties=None, type=None, status=None, _rehydrate_runs=True)
Parâmetros
Se especificado, as devoluções executa a correspondência com "tag" ou {"tag": "valor"}.
Se especificado, as devoluções são de "propriedade" ou "propriedade" especificadas: "valor"}.
- status
- str
Se especificado, as devoluções são executados com o estado especificado "status".
- _rehydrate_runs
- bool
Indica se é instantaneamente uma execução do tipo original ou da base Run.
Devoluções
Uma lista de Run objetos.
Tipo de retorno
get_context
Devolva o contexto de serviço atual.
Utilize este método para recuperar o contexto de serviço atual para registar métricas e carregar ficheiros. Se allow_offline
for verdadeiro (o padrão), as ações contra o objeto Executar serão impressas de forma normalizada.
get_context(allow_offline=True, used_for_context_manager=False, **kwargs)
Parâmetros
- cls
Indica o método da classe.
- allow_offline
- bool
Permitir que o contexto de serviço recue para o modo offline para que o script de treino possa ser testado localmente sem submeter um trabalho com o SDK. Verdade por defeito.
- used_for_context_manager
Devoluções
A corrida submetida.
Tipo de retorno
Observações
Esta função é comumente utilizada para recuperar o objeto de execução autenticado dentro de um script a ser submetido para execução via experiment.submit(). Este objeto de execução é simultaneamente um contexto autenticado para comunicar com os serviços de Aprendizagem automática Azure e um recipiente conceptual dentro do qual são contidas métricas, ficheiros (artefactos) e modelos.
run = Run.get_context() # allow_offline=True by default, so can be run locally as well
...
run.log("Accuracy", 0.98)
run.log_row("Performance", epoch=e, error=err)
get_detailed_status
Pegue o último estado da corrida. Se o estado da corrida for "Queued", mostrará os detalhes.
get_detailed_status()
Devoluções
O estado e detalhes mais recentes
Tipo de retorno
Observações
estado: O estado atual da execução. O mesmo valor que o 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
Devolva os detalhes para a corrida
Tipo de retorno
Observações
O dicionário devolvido contém os seguintes pares de valor-chave:
runId: ID desta corrida.
alvo
estado: O estado atual da execução. O mesmo valor que o devolvido de get_status().
startTimeUtc: TEMPO UTC de quando esta execução foi iniciada, em ISO8601.
endTimeUtc: tempo UTC de quando esta execução foi terminada (ou Concluída ou Falhada), em ISO8601.
Esta chave não existe se a execução ainda estiver em curso.
propriedades: Pares de valor-chave imutáveis associados à corrida. As propriedades predefinitárias incluem o ID instantâneo da execução e informações sobre o repositório git a partir do qual a execução foi criada (se houver). Propriedades adicionais podem ser adicionadas a uma execução usando add_properties.
inputDatasets: Conjuntos de dados de entrada associados à execução.
datasets de saída: conjuntos de dados de saída associados à execução.
logFiles
submetidosBy
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
O estado da execução da devoluçã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 ambiental que foi usada por esta corrida.
get_environment()
Devoluções
Devolva o objeto ambiente.
Tipo de retorno
get_file_names
Listar os ficheiros que são 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
Recupere as métricas registadas na corrida.
Se recursive
for verdadeiro (falso por padrão), em seguida, procure métricas para execuções na subtree dada.
get_metrics(name=None, recursive=False, run_type=None, populate=False)
Parâmetros
- run_type
- str
- populate
- bool
Indica se deve recolher o conteúdo de 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
Pegue as mais recentes propriedades da corrida do serviço.
get_properties()
Devoluções
As propriedades da corrida.
Tipo de retorno
Observações
As propriedades são informações imutáveis geradas pelo sistema, tais como duração, data de execução, utilizador e propriedades personalizadas adicionadas com o add_properties método. Para mais informações, consulte Tag e encontre runs.
Ao submeter um trabalho ao Azure Machine Learning, se os ficheiros de origem forem armazenados num repositório local, então as informações sobre o repo são armazenadas como propriedades. Estas propriedades de git são adicionadas ao criar uma corrida ou chamar Experiment.submit. Para obter mais informações sobre as propriedades do git consulte a integração de Git para Azure Machine Learning.
get_secret
Obtenha o valor secreto do contexto de uma corrida.
Obtenha o valor secreto do nome fornecido. O nome secreto refere um valor armazenado em Azure Key Vault associado ao seu espaço de trabalho. Para um exemplo de trabalhar com segredos, consulte Use secrets em treinos.
get_secret(name)
Parâmetros
Devoluções
O valor secreto.
Tipo de retorno
get_secrets
Obtenha os valores secretos para uma dada lista de nomes secretos.
Arranja um dicionário de segredos encontrados e não encontrados para a lista de nomes fornecidos. Cada nome secreto refere um valor armazenado em Azure Key Vault associado ao seu espaço de trabalho. Para um exemplo de trabalhar com segredos, consulte Use secrets em treinos.
get_secrets(secrets)
Parâmetros
Devoluções
Devolve um dicionário de segredos encontrados e não encontrados.
Tipo de retorno
get_snapshot_id
Obtenha a última foto instantânea.
get_snapshot_id()
Devoluções
A mais recente identificação instantânea.
Tipo de retorno
get_status
Pegue o último estado da corrida.
Os valores comuns devolvidos incluem "Running", "Complete", e "Failed".
get_status()
Devoluções
O último estado.
Tipo de retorno
Observações
NotStarted - Este é um estado temporário lado cliente Os objetos run estão dentro antes da submissão da nuvem.
Início - A Corrida começou a ser processada na nuvem. O chamador tem uma identificação de execução neste momento.
Provisioning - Devolvido quando o cálculo a pedido está a ser criado para uma determinada submissão de emprego.
Preparação - O ambiente de funcionação está a ser preparado:
construção de imagem estivador
configuração ambiente conda
Fila - O trabalho está na fila no alvo do cálculo. Por exemplo, no BatchAI o trabalho está em fila
enquanto espera que todos os nós solicitados estejam prontos.
Running - O trabalho começou a correr no alvo do cálculo.
Finalização - O código do utilizador foi concluído e a execução está em fases de pós-processamento.
CancelRequested - Cancelamento foi solicitado para o trabalho.
Concluído - A execução concluída com sucesso. Isto inclui tanto o código do utilizador como a execução
fases pós-processamento.
Falhou- A corrida falhou. Normalmente, a propriedade Error on a run irá fornecer detalhes sobre o porquê.
Cancelado - Segue um pedido de cancelamento e indica que a execução foi agora cancelada com sucesso.
NotResponding - Para corridas que tenham batimentos cardíacos ativados, nenhum batimento cardíaco foi enviado 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
PRECOTADO. Utilize get_context.
Faça a apresentação para esta experiência.
get_submitted_run(**kwargs)
Devoluções
A corrida submetida.
Tipo de retorno
get_tags
Pegue o mais recente conjunto de etiquetas mutáveis em fuga do serviço.
get_tags()
Devoluções
As etiquetas armazenadas no objeto de fuga.
Tipo de retorno
list
Obtenha uma lista de execuções numa experiência especificada por filtros opcionais.
static list(experiment, type=None, tags=None, properties=None, status=None, include_children=False, _rehydrate_runs=True)
Parâmetros
Se especificado, as devoluções executa a correspondência com "tag" ou {"tag": "valor"}.
Se especificado, as devoluções são de "propriedade" ou "propriedade" especificadas: "valor"}.
- status
- str
Se especificado, as devoluções são executados com o estado especificado "status".
- include_children
- bool
Se formos verdadeiros, busca todas as corridas, não só as de alto nível.
- _rehydrate_runs
- bool
Se for definido como Verdadeiro (por padrão), utilizará o fornecedor registado para reinstanizar um objeto para esse tipo em vez da base Run.
Devoluções
Uma lista de corridas.
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 runs num cálculo especificado por filtros opcionais.
static list_by_compute(compute, type=None, tags=None, properties=None, status=None)
Parâmetros
Se especificado, as devoluções executa a correspondência com "tag" ou {"tag": "valor"}.
Se especificado, as devoluções são de "propriedade" ou "propriedade" especificadas: "valor"}.
- status
- str
Se especificado, as devoluções são executados com o estado especificado "status". Os valores permitidos são "Running" e "Queued".
Devoluções
um gerador de ~_restclient.models.RunDto
Tipo de retorno
log
Registar um valor métrico para a corrida com o nome próprio.
log(name, value, description='', step=None)
Parâmetros
- value
O valor a ser afixado no serviço.
- step
- int
Um eixo opcional para especificar a ordem de valor dentro de uma métrica.
Observações
Registar uma métrica para uma corrida faz com que a métrica seja armazenada no registo de execução na experiência. Pode registar a mesma métrica várias vezes dentro de uma corrida, sendo o resultado considerado um vetor dessa métrica. Se for especificado um passo para uma métrica, deve ser especificado para todos os valores.
log_accuracy_table
Faça um registo de precisão na loja de artefactos.
A métrica da tabela de precisão é uma métrica multiusos, não-escalar que pode ser usada para produzir vários tipos de gráficos de linha que variam continuamente sobre o espaço de probabilidades previstas. Exemplos destes gráficos são ROC, recolha de precisão e curvas de elevação.
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 falsas positivas 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 usados para selecionar limiares: "probabilidade" e "percentil". Diferem na forma como experimentam do espaço de probabilidades previstas.
Os limiares de probabilidade são limiares espaçados uniformemente entre 0 e 1. Se NUM_POINTS é 5, os limiares de probabilidade seriam [0,0, 0,25, 0,5, 0,75, 1.0].
Os limiares 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 é 5, então o primeiro limiar seria no percentil 0, o segundo no percentil 25, o terceiro no 50º, e assim por diante.
As tabelas de probabilidade e tabelas percentil são ambas listas 3D onde a primeira dimensão representa o rótulo de classe, a segunda dimensão representa a amostra num limiar (escalas 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 repouso um vs. Consulte o seguinte link para mais detalhes: https://en.wikipedia.org/wiki/Multiclass_classification
N = # de amostras em conjunto de dados de validação (200 em exemplo) M = # limiares = # amostras colhidas do espaço de probabilidade (5 por exemplo) C = # classes em conjunto de dados completo (3 por exemplo)
Alguns invariantes 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
- Tabelas de probabilidade e tabelas de percentil têm forma [C, M, 4]
Nota: M pode ser qualquer valor e controla a resolução dos gráficos Este é independente do conjunto de dados, é definido ao calcular métricas, e troca fora espaço de armazenamento, tempo de cálculo e resolução.
As etiquetas de classe devem ser cordas, os valores de confusão devem ser inteiros, e os limiares devem ser flutuadores.
log_accuracy_table(name, value, description='')
Parâmetros
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
Faça uma confusão na loja de artefactos.
Isto faz um invólucro à volta da matriz de confusão de sklearn. Os dados métricos contêm as etiquetas de classe e uma lista 2D para a própria matriz. Consulte o seguinte link 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
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
Faça um registo de imagem no registo de execução.
log_image(name, path=None, plot=None, description='')
Parâmetros
- plot
- <xref:matplotlib.pyplot>
O enredo para registar como uma imagem.
Observações
Utilize este método para registar um ficheiro de imagem ou um enredo de matplotlib para a execução. Estas imagens serão visíveis e comparáveis no registo de execução.
log_list
Faça um registo de uma lista de valores métricos para a execução com o nome próprio.
log_list(name, value, description='')
Parâmetros
log_predictions
Registar previsões para a loja de artefactos.
Isto regista uma pontuação métrica que pode ser usada para comparar as distribuições de valores-alvo verdadeiros com a distribuição de valores previstos para uma tarefa de regressão.
As previsões são binadas e os desvios padrão são calculados para barras de erro num gráfico de linha.
log_predictions(name, value, description='')
Parâmetros
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 na loja de artefactos.
Isto regista os dados necessários para exibir uma histograma de residuais para uma tarefa de regressão. Os residuais estão previstos, reais.
Deve haver mais uma vantagem do que o número de contagens. Por favor, consulte a documentação do histograma numpy para exemplos de utilização de contagens e bordas para representar um histograma. https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html
log_residuals(name, value, description='')
Parâmetros
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
Faça um registo de linha métrica para a corrida com o nome próprio.
log_row(name, description=None, **kwargs)
Parâmetros
Observações
A utilização log_row
cria uma métrica de tabela com colunas como descrito em kwargs. Cada parâmetro nomeado gera uma coluna com o valor especificado. log_row
pode ser chamado uma vez para registar um tuple arbitrário, ou várias vezes em um loop para gerar uma tabela completa.
citrus = ['orange', 'lemon', 'lime']
sizes = [ 10, 7, 3]
for index in range(len(citrus)):
run.log_row("citrus", fruit = citrus[index], size=sizes[index])
log_table
Faça um registo de uma tabela métrica para a corrida com o nome próprio.
log_table(name, value, description='')
Parâmetros
- value
- dict
O valor da tabela da métrica, um dicionário onde as chaves são colunas a serem postadas no serviço.
register_model
Registar um modelo de 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_path
- str
O caminho relativo da nuvem para o modelo, por exemplo, "outputs/modelname".
Quando não especificado (Nenhum), model_name
é usado como o caminho.
Um dicionário de etiquetas de valor chave para atribuir ao modelo.
Um dicionário de propriedades de valor chave para 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 valor-chave.
- model_framework
- str
O quadro do modelo a registar. Quadros atualmente suportados: TensorFlow, ScikitLearn, Onnx, Custom, Multi
- datasets
- list[(str, AbstractDataset)]
Uma lista de tuples onde o primeiro elemento descreve a relação modelo de conjunto de dados e o segundo elemento é o conjunto de dados.
- sample_input_dataset
- AbstractDataset
Opcional. Conjunto de dados de entrada de amostra para o modelo registado
- sample_output_dataset
- AbstractDataset
Opcional. Conjunto de dados de saída de amostra para o modelo registado
- resource_configuration
- ResourceConfiguration
Opcional. Configuração de recursos para executar o modelo registado
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 tags mutáveis nesta execução.
remove_tags(tags)
Parâmetros
Devoluções
As etiquetas armazenadas no objeto de corrida
restore_snapshot
Restaurar uma imagem instantânea como ficheiro ZIP. Devolve o caminho para o ZIP.
restore_snapshot(snapshot_id=None, path=None)
Parâmetros
- snapshot_id
- str
A identificação do instantâneo para restaurar. As últimas são utilizadas se não forem especificadas.
Devoluções
O caminho.
Tipo de retorno
set_tags
Adicione ou modifique um conjunto de tags em execução. As etiquetas não passadas no dicionário são deixadas intocadas.
Também pode adicionar etiquetas de corda simples. Quando estas etiquetas aparecem no dicionário de etiquetas como teclas, têm um valor de Nenhum. Para mais informações, consulte Tag e encontre runs.
set_tags(tags)
Parâmetros
start
Marque a corrida como começou.
Isto é normalmente usado em cenários avançados quando a corrida foi criada por outro ator.
start()
submit_child
Submeta uma experiência e devolva a execução da criança ativa.
submit_child(config, tags=None, **kwargs)
Parâmetros
- tags
- dict
Tags a adicionar à execução submetida, por exemplo, {"tag": "valor"}.
Devoluções
Um objeto de corrida.
Tipo de retorno
Observações
Submeter é uma chamada assíncrona para a plataforma Azure Machine Learning para executar um teste em hardware local ou remoto. Dependendo da configuração, a submissão irá preparar automaticamente os seus ambientes de execução, executar o seu código e capturar o seu código fonte e os resultados no histórico de execução da experiência.
Para submeter uma experiência, primeiro precisa de criar um objeto de configuração que descreva como a experiência deve ser executada. A configuração depende do tipo de ensaio necessário.
Um exemplo de como submeter uma experiência infantil da sua máquina local é o ScriptRunConfig 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 mais detalhes sobre como configurar uma corrida, veja submit.
tag
Marque a execução com uma chave de corda e valor de corda opcional.
tag(key, value=None)
Parâmetros
Observações
Etiquetas e propriedades em uma corrida são ambos dicionários de corda -> corda. A diferença entre eles é a mutabilidade: As etiquetas podem ser definidas, atualizadas e eliminadas enquanto as Propriedades só podem ser adicionadas. Isto torna as Propriedades mais apropriadas para os desencadeadores de comportamento relacionados com o sistema/fluxo de trabalho, enquanto as Tags são geralmente viradas para o utilizador e significativas para os consumidores da experiência.
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 uma imagem do ficheiro de entrada ou da pasta.
take_snapshot(file_or_folder_path)
Parâmetros
- file_or_folder_path
- str
O ficheiro ou pasta que contém o código de origem de funcionamento.
Devoluções
Devolve a identificação instantânea.
Tipo de retorno
Observações
As imagens destinam-se a ser o código de origem utilizado para executar a execução da experiência. Estes são armazenados com a execução para que o ensaio de execução possa ser replicado no futuro.
Nota
As imagens são tomadas automaticamente quando submit são chamadas. Tipicamente, este o método take_snapshot só é necessário para execuções interativas (caderno).
upload_file
Faça o upload de um ficheiro para o registo de execução.
upload_file(name, path_or_stream, datastore_name=None)
Parâmetros
Tipo de retorno
Observações
run = experiment.start_logging()
run.upload_file(name='important_file', path_or_stream="path/on/disk/file.txt")
Nota
Executa automaticamente o ficheiro de captura no diretório de saída especificado, que predefine em "./outputs" para a maioria dos tipos de execução. Utilize upload_file apenas quando os ficheiros adicionais precisam de ser carregados ou não for especificado um diretório de saída.
upload_files
Faça o upload dos ficheiros para o registo de execução.
upload_files(names, paths, return_artifacts=False, timeout_seconds=None, datastore_name=None)
Parâmetros
- names
- list
Os nomes dos ficheiros para carregar. Se estiver definido, os caminhos também devem ser definidos.
- paths
- list
Os caminhos locais relativos para os ficheiros para carregar. Se estiver definido, são necessários nomes.
- return_artifacts
- bool
Indica que um objeto de artefacto deve ser devolvido para cada ficheiro carregado.
Observações
upload_files
tem o mesmo efeito upload_file
que 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
Executa automaticamente ficheiros no diretório de saída especificado, o que predefine em "./outputs" para a maioria dos tipos de execução. Utilize upload_files apenas quando os ficheiros adicionais precisam de ser carregados ou não for especificado um diretório de saída.
upload_folder
Faça o upload da pasta especificada para o nome prefixo dado.
upload_folder(name, path, datastore_name=None)
Parâmetros
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
Executa automaticamente ficheiros no diretório de saída especificado, o que predefine em "./outputs" para a maioria dos tipos de execução. Utilize upload_folder apenas quando os ficheiros adicionais precisam de ser carregados ou não for especificado um diretório de saída.
wait_for_completion
Espere a conclusão desta corrida. 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
- wait_post_processing
- bool
Indica se deve esperar que o processamento do post esteja concluído após a execução.
- raise_on_error
- bool
Indica se um Erro é levantado quando o Run está num estado falhado.
Devoluções
O objeto do estado.
Tipo de retorno
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
A descrição da execução.
Tipo de retorno
display_name
Devolva o nome do visor de execução.
O nome de exibição opcional da execução é uma cadeia especificada pelo utilizador, útil para posterior identificação da execução.
Devoluções
O nome do visor de execução.
Tipo de retorno
experiment
Faça uma experiência que contenha a fuga.
Devoluções
Recupera a experiência correspondente à execução.
Tipo de retorno
id
Obter identificação de execução.
A identificação da corrida é um identificador único em toda a experiência que contém.
Devoluções
A identificação da corrida.
Tipo de retorno
name
PRECOTADO. Usa display_name.
O nome opcional da execução é uma cadeia especificada pelo utilizador útil para posterior identificação da execução.
Devoluções
A identificação da corrida.
Tipo de retorno
number
Obter o número de execução.
Um número monotonicamente crescente que representa a ordem das corridas dentro de uma experiência.
Devoluções
O número de execução.
Tipo de retorno
parent
Tragam os pais para esta corrida do serviço.
As corridas podem ter um progenitor opcional, resultando numa potencial hierarquia de corridas. Para registar métricas para uma execução dos pais, utilize o log método do objeto-mãe, por exemplo, run.parent.log()
.
Devoluções
O pai corre, ou nenhum se um não estiver definido.
Tipo de retorno
properties
Devolva as propriedades imutáveis desta execução.
Devoluções
As propriedades locais em cache da corrida.
Tipo de retorno
Observações
As propriedades incluem informações imutáveis geradas pelo sistema, tais como duração, data de execução, utilizador, etc.
status
Devolva o estado do objeto de execução.
tags
Devolva o conjunto de etiquetas mutáveis nesta viagem.
Devoluções
As etiquetas armazenadas no objeto de fuga.
Tipo de retorno
type
Obter tipo de corrida.
Indica como a execução foi criada ou configurada.
Devoluções
O tipo de corrida.
Tipo de retorno
Comentários
Submeter e ver comentários