Experiment Classe
Representa o principal ponto de entrada para criar e trabalhar com experimentos no Azure Machine Learning.
Um experimento é um contêiner de testes que representam várias execuções de modelo.
Construtor de experimento.
Construtor
Experiment(workspace, name, _skip_name_validation=False, _id=None, _archived_time=None, _create_in_cloud=True, _experiment_dto=None, **kwargs)
Parâmetros
| Name | Description |
|---|---|
|
workspace
Necessário
|
O objeto de espaço de trabalho que contém o experimento. |
|
name
Necessário
|
O nome do experimento. |
|
kwargs
Necessário
|
Um dicionário de palavras-chave args. |
|
workspace
Necessário
|
O objeto de espaço de trabalho que contém o experimento. |
|
name
Necessário
|
O nome do experimento. |
|
kwargs
Necessário
|
Um dicionário de palavras-chave args. |
|
_skip_name_validation
|
Default value: False
|
|
_id
|
Default value: None
|
|
_archived_time
|
Default value: None
|
|
_create_in_cloud
|
Default value: True
|
|
_experiment_dto
|
Default value: None
|
Observações
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 Experiment é representado pela classe e uma avaliação é representada pela Run classe.
Para obter ou criar um experimento a partir de um espaço de trabalho, solicite o experimento usando o nome do experimento. O nome do experimento deve ter de 3 a 36 caracteres, começar com uma letra ou um número e só pode conter letras, números, sublinhados e traços.
experiment = Experiment(workspace, "MyExperiment")
Se o experimento não for encontrado no espaço de trabalho, um novo experimento será criado.
Há duas maneiras de executar um teste de experimento. Se você estiver experimentando interativamente em um Jupyter Notebook, use start_logging Se você estiver enviando um experimento a partir do código-fonte ou de algum outro tipo de avaliação configurada, use submit
Ambos os mecanismos criam um Run objeto. 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 recuperar os valores atuais, se houver, de quaisquer medições e métricas de avaliação.
Métodos
| archive |
Arquivar uma experiência. |
| delete |
Exclua um experimento no espaço de trabalho. |
| from_directory |
(Preterido) Carregue um experimento a partir do caminho especificado. |
| get_docs_url |
Url para a documentação desta classe. |
| get_runs |
Retornar um gerador das execuções para este experimento, em ordem cronológica inversa. |
| list |
Retornar a lista de experimentos no espaço de trabalho. |
| reactivate |
Reativa um experimento arquivado. |
| refresh |
Retorne a versão mais recente do experimento da nuvem. |
| remove_tags |
Exclua as tags especificadas do experimento. |
| set_tags |
Adicione ou modifique um conjunto de tags no experimento. As tags não passadas no dicionário são deixadas intocadas. |
| start_logging |
Inicie uma sessão de registro interativo e crie uma execução interativa no experimento especificado. |
| submit |
Envie um experimento e retorne a execução ativa criada. |
| tag |
Marque o experimento com uma chave de cadeia de caracteres e um valor de cadeia de caracteres opcional. |
archive
Arquivar uma experiência.
archive()
Observações
Após o arquivamento, o experimento não será listado por padrão. Tentar gravar em um experimento arquivado criará um novo 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
Exclua um experimento no espaço de trabalho.
static delete(workspace, experiment_id)
Parâmetros
| Name | Description |
|---|---|
|
workspace
Necessário
|
O espaço de trabalho ao qual o experimento pertence. |
|
experiment_id
Necessário
|
O id do experimento a ser excluído. |
from_directory
(Preterido) Carregue um experimento a partir do caminho especificado.
static from_directory(path, auth=None)
Parâmetros
| Name | Description |
|---|---|
|
path
Necessário
|
Diretório que contém os arquivos de configuração do experimento. |
|
auth
|
O objeto auth. Se Nenhum, as credenciais padrão da CLI do Azure serão usadas ou a API solicitará credenciais. Default value: None
|
Devoluções
| Tipo | Description |
|---|---|
|
Devolve a Experiência |
get_docs_url
get_runs
Retornar 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
| Name | Description |
|---|---|
|
type
|
Filtre o gerador retornado de execuções pelo tipo fornecido. Consulte add_type_provider para criar tipos de execução. Default value: None
|
|
tags
|
O filtro é executado por "tag" ou {"tag": "value"}. Default value: None
|
|
properties
|
O filtro é executado por "propriedade" ou {"propriedade": "valor"} Default value: None
|
|
include_children
|
Por padrão, busque apenas execuções de nível superior. Defina como true para listar todas as execuções. Default value: False
|
Devoluções
| Tipo | Description |
|---|---|
|
A lista de execuções que correspondem aos filtros fornecidos. |
list
Retornar a lista de experimentos no espaço de trabalho.
static list(workspace, experiment_name=None, view_type='ActiveOnly', tags=None)
Parâmetros
| Name | Description |
|---|---|
|
workspace
Necessário
|
O espaço de trabalho a partir do qual listar os experimentos. |
|
experiment_name
|
Nome opcional para filtrar experimentos. Default value: None
|
|
view_type
|
Valor de enum opcional para filtrar ou incluir experimentos arquivados. Default value: ActiveOnly
|
|
tags
|
Chave de tag opcional ou dicionário de pares chave-valor de tag para filtrar experimentos. Default value: None
|
Devoluções
| Tipo | Description |
|---|---|
|
Uma lista de objetos de experimento. |
reactivate
Reativa um experimento arquivado.
reactivate(new_name=None)
Parâmetros
| Name | Description |
|---|---|
|
new_name
Necessário
|
Não é mais suportado |
Observações
Um experimento arquivado só pode ser reativado se não houver outro experimento ativo com o mesmo nome.
refresh
Retorne a versão mais recente do experimento da nuvem.
refresh()
remove_tags
Exclua as tags especificadas do experimento.
remove_tags(tags)
Parâmetros
| Name | Description |
|---|---|
|
tags
Necessário
|
[str]
As chaves de tag que serão removidas |
set_tags
start_logging
Inicie uma sessão de registro interativo e crie uma execução interativa no experimento especificado.
start_logging(*args, **kwargs)
Parâmetros
| Name | Description |
|---|---|
|
experiment
Necessário
|
A experiência. |
|
outputs
Necessário
|
Diretório de saídas opcional para rastrear. Para nenhuma saída, passe False. |
|
snapshot_directory
Necessário
|
Diretório opcional para tirar instantâneo. A configuração como Nenhum não tirará nenhum instantâneo. |
|
args
Necessário
|
|
|
kwargs
Necessário
|
|
Devoluções
| Tipo | Description |
|---|---|
|
Retornar uma execução iniciada. |
Observações
start_logging cria uma execução interativa para uso em cenários como Jupyter Notebooks. Todas as métricas registradas durante a sessão são adicionadas 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
run_id é gerado automaticamente para cada execução e é exclusivo dentro do experimento.
submit
Envie um experimento e retorne a execução ativa criada.
submit(config, tags=None, **kwargs)
Parâmetros
| Name | Description |
|---|---|
|
config
Necessário
|
A configuração a ser enviada. |
|
tags
|
Tags a serem adicionadas à execução enviada, {"tag": "value"}. Default value: None
|
|
kwargs
Necessário
|
Parâmetros adicionais usados na função de envio para configurações. |
Devoluções
| Tipo | Description |
|---|---|
|
Uma corrida. |
Observações
Enviar é uma chamada assíncrona para a plataforma Azure Machine Learning para executar uma avaliação em hardware local ou remoto. Dependendo da configuração, o envio preparará automaticamente seus ambientes de execução, executará seu código e capturará seu código-fonte e resultados no histórico de execução do experimento.
Para enviar um experimento, primeiro você precisa criar um objeto de configuração descrevendo como o experimento deve ser executado. A configuração depende do tipo de avaliação necessária.
Um exemplo de como enviar um experimento de sua máquina 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
Quando você envia a execução de treinamento, um instantâneo do diretório que contém seus scripts de treinamento é criado e enviado para o destino de computação. Ele também é armazenado como parte do experimento em seu espaço de trabalho. Se você alterar os arquivos e enviar a execução novamente, somente os arquivos alterados serão carregados.
Para impedir que arquivos 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, consulte Instantâneos.
tag
Marque o experimento com uma chave de cadeia de caracteres e um valor de cadeia de caracteres opcional.
tag(key, value=None)
Parâmetros
| Name | Description |
|---|---|
|
key
Necessário
|
A chave da tag |
|
value
Necessário
|
Um valor opcional para a tag |
Observações
As tags em um experimento são armazenadas em um dicionário com teclas de cadeia de caracteres e valores de cadeia de caracteres. As tags podem ser definidas, atualizadas e excluídas. As tags 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
Retorne o tempo arquivado para o experimento. O valor deve ser Nenhum para um experimento ativo.
Devoluções
| Tipo | Description |
|---|---|
|
O tempo arquivado do experimento. |
id
name
tags
workspace
Retornar o espaço de trabalho que contém o experimento.
Devoluções
| Tipo | Description |
|---|---|
|
Retorna o objeto de espaço de trabalho. |