Experiment Classe
Representa o principal ponto de entrada para criar e trabalhar com experimentos no Azure Machine Learning.
Um Experimento é um contêiner de avaliações que representam várias execuções de modelo.
Construtor de experimentos.
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 Experiment classe e uma avaliação é representada pela Run classe.
Para obter ou criar um experimento de um workspace, 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 workspace, um novo experimento será criado.
Há duas maneiras de executar uma avaliação de experimento. Se você estiver experimentando interativamente em um Jupyter Notebook, use start_logging Se você estiver enviando um experimento do código-fonte ou algum outro tipo de avaliação configurada, use submit
Ambos os mecanismos criam um Run objeto. Em cenários interativos, use métodos de log, como log adicionar medidas 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 medidas e métricas de avaliação.
Métodos
| archive |
Arquive um experimento. |
| delete |
Exclua um experimento no workspace. |
| from_directory |
(Preterido) Carregue um experimento do caminho especificado. |
| get_docs_url |
Url para a documentação desta classe. |
| get_runs |
Retornar um gerador das execuções deste experimento, em ordem cronológica inversa. |
| list |
Retorne a lista de experimentos no workspace. |
| reactivate |
Reativa um experimento arquivado. |
| refresh |
Retorne a versão mais recente do experimento da nuvem. |
| remove_tags |
Exclua as marcas especificadas do experimento. |
| set_tags |
Adicione ou modifique um conjunto de marcas no experimento. As marcas não passadas no dicionário são deixadas intocadas. |
| start_logging |
Inicie uma sessão de log interativa 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
Arquive 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 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 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ída. |
from_directory
(Preterido) Carregue um experimento do caminho especificado.
static from_directory(path, auth=None)
Parâmetros
| Nome | Description |
|---|---|
|
path
Obrigatório
|
Diretório que contém os arquivos de configuração do experimento. |
|
auth
|
O objeto de autenticação. Se Nenhuma das credenciais padrão da CLI do Azure for usada ou a API solicitará credenciais. Valor padrão: None
|
Retornos
| Tipo | Description |
|---|---|
|
Retorna o experimento |
get_docs_url
get_runs
Retornar um gerador das execuções deste experimento, em ordem cronológica inversa.
get_runs(type=None, tags=None, properties=None, include_children=False)
Parâmetros
| Nome | Description |
|---|---|
|
type
|
Filtre o gerador retornado de execuções pelo tipo fornecido. Consulte add_type_provider como criar tipos de execução. Valor padrão: None
|
|
tags
|
O filtro é executado por "tag" ou {"tag": "value"}. Valor padrão: None
|
|
properties
|
O filtro é executado por "property" ou {"property": "value"} Valor padrão: None
|
|
include_children
|
Por padrão, busque apenas execuções de nível superior. Defina como true para listar todas as execuções. Valor padrão: False
|
Retornos
| Tipo | Description |
|---|---|
|
A lista de execuções que correspondem aos filtros fornecidos. |
list
Retorne 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 enumeração 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 para 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 há mais suporte |
Comentários
Um experimento arquivado só poderá 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 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
start_logging
Inicie uma sessão de log interativa e crie 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. A configuração de Nenhum não tirará nenhum instantâneo. |
|
args
Obrigatório
|
|
|
kwargs
Obrigatório
|
|
Retornos
| Tipo | Description |
|---|---|
|
Retornar uma execução iniciada. |
Comentários
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
| 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 de envio para configurações. |
Retornos
| Tipo | Description |
|---|---|
|
Uma execução. |
Comentários
Enviar é uma chamada assíncrona para a plataforma do 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á o código-fonte e os resultados no histórico de execução do experimento.
Para enviar um experimento, primeiro você precisa criar um objeto de configuração que descreva como o experimento deve 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
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 workspace. Se você alterar arquivos e enviar a execução novamente, somente os arquivos alterados serão carregados.
Para impedir que os 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, veja cópias de sombra.
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
| 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
Retorne o tempo arquivado para o experimento. O valor deve ser Nenhum para um experimento ativo.
Retornos
| Tipo | Description |
|---|---|
|
A hora arquivada do experimento. |
id
name
tags
workspace
Retorne o workspace que contém o experimento.
Retornos
| Tipo | Description |
|---|---|
|
Retorna o objeto de workspace. |