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.ChainedIdentityExperimentazureml.core._portal.HasExperimentPortalExperiment
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
|
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
|
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
|
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
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
|
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
|
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
|
Diretório de saídas opcionais a ser rastreado. Para nenhuma saída, passe False. |
snapshot_directory
Obrigatório
|
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 |
---|---|
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 |
---|---|
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.
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
|
A chave de marca |
value
Obrigatório
|
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 |
---|---|
O tempo pelo qual o experimento está arquivado. |
id
name
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. |