Experiment Classe
Representa o ponto de entrada principal para criar e trabalhar com experimentações no Azure Machine Learning.
Uma Experimentação é um contentor de avaliações que representam várias execuções de modelos.
Construtor de experimentação.
- 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
Name | Description |
---|---|
workspace
Necessário
|
O objeto da área de trabalho que contém a experimentação. |
name
Necessário
|
O nome da experimentação. |
kwargs
Necessário
|
Um dicionário de args de palavras-chave. |
workspace
Necessário
|
O objeto da área de trabalho que contém a experimentação. |
name
Necessário
|
O nome da experimentação. |
kwargs
Necessário
|
Um dicionário de args de palavras-chave. |
_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
Uma experimentação do Azure Machine Learning representa a coleção de avaliações utilizada para validar a hipótese de um utilizador.
No Azure Machine Learning, uma experimentação é representada pela Experiment classe e uma avaliação Run é representada pela classe .
Para obter ou criar uma experimentação a partir de uma área de trabalho, peça a experimentação com o nome da experimentação. O nome da experimentação tem de ter entre 3 e 36 carateres, começar com uma letra ou um número e só pode conter letras, números, carateres de sublinhado e travessões.
experiment = Experiment(workspace, "MyExperiment")
Se a experimentação não for encontrada na área de trabalho, será criada uma nova experimentação.
Há duas formas de executar avaliações de experimentações. Se estiver a experimentar interativamente num Jupyter Notebook, utilize start_logging Se estiver a submeter uma experimentação a partir do código fonte ou de outro tipo de avaliação configurada, utilizesubmit
Ambos os mecanismos criam um Run objeto. Em cenários interativos, utilize métodos de registo como log para adicionar medições e métricas ao registo de avaliação. Em cenários configurados, utilize métodos de estado como get_status para obter informações sobre a execução.
Em ambos os casos, pode utilizar métodos de consulta como get_metrics para obter os valores atuais, se existirem, de quaisquer medições e métricas de avaliação.
Métodos
archive |
Arquivar uma experimentação. |
delete |
Eliminar uma experimentação na área de trabalho. |
from_directory |
(Preterido) Carregue uma experimentação a partir do caminho especificado. |
get_docs_url |
Url para a documentação desta classe. |
get_runs |
Devolva um gerador das execuções para esta experimentação, por ordem cronológica inversa. |
list |
Devolva a lista de experimentações na área de trabalho. |
reactivate |
Reativa uma experimentação arquivada. |
refresh |
Devolver a versão mais recente da experimentação a partir da cloud. |
remove_tags |
Elimine as etiquetas especificadas da experimentação. |
set_tags |
Adicionar ou modificar um conjunto de etiquetas na experimentação. As etiquetas não transmitidas no dicionário ficam intocadas. |
start_logging |
Inicie uma sessão de registo interativa e crie uma execução interativa na experimentação especificada. |
submit |
Submeta uma experimentação e devolva a execução criada ativa. |
tag |
Marque a experimentação com uma chave de cadeia e um valor de cadeia opcional. |
archive
Arquivar uma experimentação.
archive()
Observações
Após o arquivo, a experimentação não será listada por predefinição. Tentar escrever numa experimentação arquivada irá criar uma nova experimentação ativa com o mesmo nome. Uma experimentação arquivada pode ser restaurada ao chamar reactivate , desde que não exista outra experimentação ativa com o mesmo nome.
delete
Eliminar uma experimentação na área de trabalho.
static delete(workspace, experiment_id)
Parâmetros
Name | Description |
---|---|
workspace
Necessário
|
A área de trabalho à qual a experimentação pertence. |
experiment_id
Necessário
|
O ID da experimentação a eliminar. |
from_directory
(Preterido) Carregue uma experimentação a partir do caminho especificado.
static from_directory(path, auth=None)
Parâmetros
Name | Description |
---|---|
path
Necessário
|
Diretório que contém os ficheiros de configuração da experimentação. |
auth
|
O objeto de autenticação. Se nenhuma das credenciais predefinidas da CLI do Azure for utilizada ou a API pedirá credenciais. Default value: None
|
Devoluções
Tipo | Description |
---|---|
Devolve a Experimentação |
get_docs_url
get_runs
Devolva um gerador das execuções para esta experimentação, por ordem cronológica inversa.
get_runs(type=None, tags=None, properties=None, include_children=False)
Parâmetros
Name | Description |
---|---|
type
|
Filtre o gerador devolvido de execuções pelo tipo fornecido. Veja 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 {"property": "value"} Default value: None
|
include_children
|
Por predefinição, obtenha apenas execuções de nível superior. Defina como verdadeiro para listar todas as execuções. Default value: False
|
Devoluções
Tipo | Description |
---|---|
A lista de execuções correspondentes aos filtros fornecidos. |
list
Devolva a lista de experimentações na área de trabalho.
static list(workspace, experiment_name=None, view_type='ActiveOnly', tags=None)
Parâmetros
Name | Description |
---|---|
workspace
Necessário
|
A área de trabalho a partir da qual pretende listar as experimentações. |
experiment_name
|
Nome opcional para filtrar experimentações. Default value: None
|
view_type
|
Valor de numeração opcional para filtrar ou incluir experimentações arquivadas. Default value: ActiveOnly
|
tags
|
Chave de etiqueta opcional ou dicionário de pares chave-valor de etiqueta para filtrar experimentações. Default value: None
|
Devoluções
Tipo | Description |
---|---|
Uma lista de objetos de experimentação. |
reactivate
Reativa uma experimentação arquivada.
reactivate(new_name=None)
Parâmetros
Name | Description |
---|---|
new_name
Necessário
|
Já não é suportado |
Observações
Uma experimentação arquivada só pode ser reativada se não existir outra experimentação ativa com o mesmo nome.
refresh
Devolver a versão mais recente da experimentação a partir da cloud.
refresh()
remove_tags
Elimine as etiquetas especificadas da experimentação.
remove_tags(tags)
Parâmetros
Name | Description |
---|---|
tags
Necessário
|
[str]
As teclas de etiqueta que serão removidas |
set_tags
Adicionar ou modificar um conjunto de etiquetas na experimentação. As etiquetas não transmitidas no dicionário ficam intocadas.
set_tags(tags)
Parâmetros
Name | Description |
---|---|
tags
Necessário
|
As etiquetas armazenadas no objeto de experimentação |
start_logging
Inicie uma sessão de registo interativa e crie uma execução interativa na experimentação especificada.
start_logging(*args, **kwargs)
Parâmetros
Name | Description |
---|---|
experiment
Necessário
|
A experimentação. |
outputs
Necessário
|
Diretório de saídas opcionais para controlar. Sem saídas, transmita Falso. |
snapshot_directory
Necessário
|
Diretório opcional para tirar o instantâneo de. A definição para Nenhum não irá tirar nenhum instantâneo. |
args
Necessário
|
|
kwargs
Necessário
|
|
Devoluções
Tipo | Description |
---|---|
Devolver uma execução iniciada. |
Observações
start_logging cria uma execução interativa para utilização em cenários como o Jupyter Notebooks. Todas as métricas registadas durante a sessão são adicionadas ao registo de execução na experimentação. Se for especificado um diretório de saída, o conteúdo desse diretório é carregado como artefactos 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()
Nota
run_id é gerada automaticamente para cada execução e é exclusiva na experimentação.
submit
Submeta uma experimentação e devolva a execução criada ativa.
submit(config, tags=None, **kwargs)
Parâmetros
Name | Description |
---|---|
config
Necessário
|
A configuração a submeter. |
tags
|
Etiquetas a adicionar à execução submetida, {"tag": "value"}. Default value: None
|
kwargs
Necessário
|
Parâmetros adicionais utilizados na função de submissão para configurações. |
Devoluções
Tipo | Description |
---|---|
Uma corrida. |
Observações
Submeter é uma chamada assíncrona para a plataforma Azure Machine Learning para executar uma avaliação em hardware local ou remoto. Consoante a configuração, submeter irá preparar automaticamente os ambientes de execução, executar o código e capturar o código fonte e os resultados no histórico de execuções da experimentação.
Para submeter uma experimentação, primeiro tem de criar um objeto de configuração que descreva como a experimentação deve ser executada. A configuração depende do tipo de avaliação necessário.
Um exemplo de como submeter uma experimentação a partir do seu 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, veja os detalhes do tipo de configuração.
azureml.train.automl.automlconfig.AutoMLConfig
azureml.pipeline.core.Pipeline
azureml.pipeline.core.PublishedPipeline
azureml.pipeline.core.PipelineEndpoint
Nota
Quando submete a execução de preparação, é criado e enviado um instantâneo do diretório que contém os scripts de preparação para o destino de computação. Também é armazenado como parte da experimentação na sua área de trabalho. Se alterar os ficheiros e submeter a execução novamente, apenas os ficheiros alterados serão carregados.
Para impedir que os ficheiros sejam incluídos no instantâneo, crie um ficheiro .gitignore ou .amlignore no diretório e adicione os ficheiros ao mesmo. O ficheiro .amlignore utiliza a mesma sintaxe e padrões que o ficheiro .gitignore. Se ambos os ficheiros existirem, o ficheiro .amlignore tem precedência.
Para obter mais informações, veja Instantâneos.
tag
Marque a experimentação com uma chave de cadeia e um valor de cadeia opcional.
tag(key, value=None)
Parâmetros
Name | Description |
---|---|
key
Necessário
|
A chave de etiqueta |
value
Necessário
|
Um valor opcional para a etiqueta |
Observações
As etiquetas numa experimentação são armazenadas num dicionário com chaves de cadeia e valores de cadeia. As etiquetas podem ser definidas, atualizadas e eliminadas. As etiquetas têm acesso ao utilizador e geralmente contêm informações de significado para os consumidores da experimentação.
experiment.tag('')
experiment.tag('DeploymentCandidate')
experiment.tag('modifiedBy', 'Master CI')
experiment.tag('modifiedBy', 'release pipeline') # Careful, tags are mutable
Atributos
archived_time
Devolva o tempo arquivado para a experimentação. O valor deve ser Nenhum para uma experimentação ativa.
Devoluções
Tipo | Description |
---|---|
A hora arquivada da experimentação. |
id
name
tags
Devolva o conjunto mutável de etiquetas na experimentação.
Devoluções
Tipo | Description |
---|---|
As etiquetas numa experimentação. |
workspace
Devolva a área de trabalho que contém a experimentação.
Devoluções
Tipo | Description |
---|---|
Devolve o objeto da área de trabalho. |