Compartilhar via


Experiment Classe

Representa o ponto de entrada principal para criar experimentos e trabalhar com eles no Azure Machine Learning.

Um Experimento é um contêiner de avaliações que representa várias execuções de modelo.

Construtor de experimentos.

Herança
azureml._logging.chained_identity.ChainedIdentity
Experiment
azureml.core._portal.HasExperimentPortal
Experiment

Construtor

Experiment(workspace, name, _skip_name_validation=False, _id=None, _archived_time=None, _create_in_cloud=True, _experiment_dto=None, **kwargs)

Parâmetros

Nome Description
workspace
Obrigatório

O objeto de workspace que contém o experimento.

name
Obrigatório
str

O nome do experimento.

kwargs
Obrigatório

Um dicionário de argumentos de palavra-chave.

workspace
Obrigatório

O objeto de workspace que contém o experimento.

name
Obrigatório
str

O nome do experimento.

kwargs
Obrigatório

Um dicionário de argumentos de palavra-chave.

_skip_name_validation
Valor padrão: False
_id
Valor padrão: None
_archived_time
Valor padrão: None
_create_in_cloud
Valor padrão: True
_experiment_dto
Valor padrão: None

Comentários

Um experimento do Azure Machine Learning representa a coleção de avaliações usadas para validar a hipótese de um usuário.

No Azure Machine Learning, um experimento é representado pela classe Experiment e uma avaliação é representada pela classe Run.

Para obter ou criar um experimento de um workspace, você solicita o experimento usando o nome do experimento. O nome do experimento precisa ter de 3 a 36 caracteres, começar com uma letra ou um número e pode conter apenas letras, números, sublinhados e traços.


   experiment = Experiment(workspace, "MyExperiment")

Se o experimento não for encontrado no workspace, um experimento será criado.

Há duas maneiras de realizar um teste de experimento. Se você estiver experimentando interativamente em um Jupyter Notebook, use start_logging. Se estiver enviando um experimento do código-fonte ou algum outro tipo de avaliação configurada, use submit

Ambos os mecanismos criam um objeto Run. Em cenários interativos, use métodos de registro em log, como log, para adicionar medições e métricas ao registro de avaliação. Em cenários configurados, use métodos de status como get_status para recuperar informações sobre a execução.

Em ambos os casos, você pode usar métodos de consulta, como get_metrics, para recuperar os valores atuais, se houver, de medições de avaliação e métricas.

Métodos

archive

Arquiva um experimento.

delete

Excluir um experimento no workspace.

from_directory

(Preterido) Carrega um experimento do caminho especificado.

get_docs_url

URL para a documentação desta classe.

get_runs

Retorna um gerador das execuções para este experimento, em ordem cronológica inversa.

list

Retorna a lista de experimentos no workspace.

reactivate

Reativa um experimento arquivado.

refresh

Retornar a versão mais recente do experimento da nuvem.

remove_tags

Exclui as marcas especificadas do experimento.

set_tags

Adiciona ou modifica um conjunto de marcas no experimento. As marcas não passadas no dicionário são deixadas inalteradas.

start_logging

Inicia uma sessão interativa de registro em log e cria uma execução interativa no experimento especificado.

submit

Envia um experimento e retorna a execução criada ativa.

tag

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

archive

Arquiva um experimento.

archive()

Comentários

Após o arquivamento, o experimento não será listado por padrão. A tentativa de gravar em um experimento arquivado criará um experimento ativo com o mesmo nome. Um experimento arquivado pode ser restaurado chamando reactivate, desde que não haja outro experimento ativo com o mesmo nome.

delete

Excluir um experimento no workspace.

static delete(workspace, experiment_id)

Parâmetros

Nome Description
workspace
Obrigatório

O workspace ao qual o experimento pertence.

experiment_id
Obrigatório

A ID do experimento a ser excluído.

from_directory

(Preterido) Carrega um experimento do caminho especificado.

static from_directory(path, auth=None)

Parâmetros

Nome Description
path
Obrigatório
str

Um diretório que contém os arquivos de configuração do experimento.

auth

O objeto de autenticação. Se for Nenhum, as credenciais padrão da CLI do Azure serão usadas ou a API solicitará credenciais.

Valor padrão: None

Retornos

Tipo Description

Retorna o experimento

get_docs_url

URL para a documentação desta classe.

get_docs_url()

Retornos

Tipo Description
str

url

get_runs

Retorna um gerador das execuções para este experimento, em ordem cronológica inversa.

get_runs(type=None, tags=None, properties=None, include_children=False)

Parâmetros

Nome Description
type

Filtra o gerador de execuções retornado pelo tipo fornecido. Confira add_type_provider para criar tipos de execução.

Valor padrão: None
tags

Filtra execuções por "tag" ou {"tag": "value"}.

Valor padrão: None
properties

Filtra execuções por "propriedade" ou {"propriedade": "valor"}

Valor padrão: None
include_children

Busca por padrão apenas execuções de nível superior. Definido como true para listar todas as execuções.

Valor padrão: False

Retornos

Tipo Description

A lista de execuções correspondentes aos filtros fornecidos.

list

Retorna a lista de experimentos no workspace.

static list(workspace, experiment_name=None, view_type='ActiveOnly', tags=None)

Parâmetros

Nome Description
workspace
Obrigatório

O workspace do qual listar os experimentos.

experiment_name
str

Nome opcional para filtrar experimentos.

Valor padrão: None
view_type

Valor de enum opcional para filtrar ou incluir experimentos arquivados.

Valor padrão: ActiveOnly
tags

Chave de marca opcional ou dicionário de pares chave-valor de marca pelos quais filtrar experimentos.

Valor padrão: None

Retornos

Tipo Description

Uma lista de objetos de experimento.

reactivate

Reativa um experimento arquivado.

reactivate(new_name=None)

Parâmetros

Nome Description
new_name
Obrigatório
str

Não tem mais suporte

Comentários

Um experimento arquivado só poderá ser reativado se não houver outro experimento ativo com o mesmo nome.

refresh

Retornar a versão mais recente do experimento da nuvem.

refresh()

remove_tags

Exclui as marcas especificadas do experimento.

remove_tags(tags)

Parâmetros

Nome Description
tags
Obrigatório
[str]

As chaves de marca que serão removidas

set_tags

Adiciona ou modifica um conjunto de marcas no experimento. As marcas não passadas no dicionário são deixadas inalteradas.

set_tags(tags)

Parâmetros

Nome Description
tags
Obrigatório

As marcas armazenadas no objeto de experimento

start_logging

Inicia uma sessão interativa de registro em log e cria uma execução interativa no experimento especificado.

start_logging(*args, **kwargs)

Parâmetros

Nome Description
experiment
Obrigatório

O experimento.

outputs
Obrigatório
str

Diretório de saídas opcionais a ser rastreado. Para nenhuma saída, passe False.

snapshot_directory
Obrigatório
str

Diretório opcional do qual tirar um instantâneo. Se definido como Nenhum, nenhum instantâneo será tirado.

args
Obrigatório
kwargs
Obrigatório

Retornos

Tipo Description
Run

Retorna uma execução iniciada.

Comentários

start_logging cria uma execução interativa para uso em cenários como Jupyter Notebooks. Qualquer métrica registrada em log durante a sessão é adicionada ao registro de execução no experimento. Se um diretório de saída for especificado, o conteúdo desse diretório será carregado como artefatos de execução após a conclusão da execução.


   experiment = Experiment(workspace, "My Experiment")
   run = experiment.start_logging(outputs=None, snapshot_directory=".", display_name="My Run")
   ...
   run.log_metric("Accuracy", accuracy)
   run.complete()

Observação

A run_id é gerada automaticamente para cada execução e é exclusiva dentro do experimento.

submit

Envia um experimento e retorna a execução criada ativa.

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

Parâmetros

Nome Description
config
Obrigatório

A configuração a ser enviada.

tags

Marcas a serem adicionadas à execução enviada, {"tag": "value"}.

Valor padrão: None
kwargs
Obrigatório

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

Retornos

Tipo Description
Run

Uma execução.

Comentários

Submit é uma chamada assíncrona para a plataforma de Azure Machine Learning para executar uma avaliação em hardware local ou remoto. Dependendo da configuração, submit vai preparar automaticamente seus ambientes de execução, executar o código e capturar o código-fonte e os resultados no histórico de execuções do experimento.

Para enviar um experimento, crie um objeto de configuração que descreva como o experimento será executado. A configuração depende do tipo de avaliação necessária.

Um exemplo de como enviar um experimento do computador local é 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 = experiment.submit(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 os detalhes do tipo de configuração.

  • ScriptRunConfig

  • azureml.train.automl.automlconfig.AutoMLConfig

  • azureml.pipeline.core.Pipeline

  • azureml.pipeline.core.PublishedPipeline

  • azureml.pipeline.core.PipelineEndpoint

Observação

Ao enviar a execução de treinamento, um instantâneo do diretório contendo os scripts de treinamento será criado e enviado ao destino de computação. Ele também é armazenado como parte do experimento em seu workspace. Se você alterar os arquivos e enviar a execução novamente, apenas os arquivos alterados serão carregados.

Para evitar que arquivos desnecessários sejam incluídos no instantâneo, crie um arquivo .gitignore ou .amlignore no diretório e adicione os arquivos a ele. O arquivo .amlignore usa a mesma sintaxe e padrões que o arquivo .gitignore. Se ambos os arquivos existirem, o arquivo .amlignore terá precedência.

Para obter mais informações, veja cópias de sombra.

tag

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

tag(key, value=None)

Parâmetros

Nome Description
key
Obrigatório
str

A chave de marca

value
Obrigatório
str

Um valor opcional para a marca

Comentários

As marcas em um experimento são armazenadas em um dicionário com chaves de cadeia de caracteres e valores de cadeia de caracteres. As marcas podem ser definidas, atualizadas e excluídas. As marcas são voltadas para o usuário e geralmente contêm informações de significado para os consumidores do experimento.


   experiment.tag('')
   experiment.tag('DeploymentCandidate')
   experiment.tag('modifiedBy', 'Master CI')
   experiment.tag('modifiedBy', 'release pipeline') # Careful, tags are mutable

Atributos

archived_time

Retorna o tempo pelo qual o experimento está arquivado. O valor deve ser Nenhum para um experimento ativo.

Retornos

Tipo Description
str

O tempo pelo qual o experimento está arquivado.

id

Retorna a ID do experimento.

Retornos

Tipo Description
str

A ID do experimento.

name

Retorna o nome do experimento.

Retornos

Tipo Description
str

O nome do experimento.

tags

Retorna o conjunto mutável de marcas no experimento.

Retornos

Tipo Description

As marcas no experimento.

workspace

Retorna o workspace que contém o experimento.

Retornos

Tipo Description

Retorna o objeto do workspace.

workspace_object

(Preterido) Retorna o workspace que contém o experimento.

Use o atributo workspace.

Retornos

Tipo Description

O objeto de workspace.