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 palavra-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 palavra-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 |
Devolver 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 são deixadas 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 pertence a experimentação. |
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, as credenciais predefinidas da CLI do Azure serão utilizadas ou a API pedirá credenciais. Default value: None
|
Devoluções
Tipo | Description |
---|---|
Devolve a Experimentação |
get_docs_url
get_runs
Devolver 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 "property" ou {"property": "value"} Default value: None
|
include_children
|
Por predefinição, obtenha apenas as 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 que correspondem 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 enumeraçã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 chaves 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 são deixadas 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 experiência. |
outputs
Necessário
|
Diretório de saídas opcionais a controlar. Para nenhuma saída, transmita Falso. |
snapshot_directory
Necessário
|
Diretório opcional para tirar o instantâneo de. Definir como 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 Notebook. 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 é gerado automaticamente para cada execução e é exclusivo 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 submit para configurações. |
Devoluções
Tipo | Description |
---|---|
Uma execução. |
Observações
Submeter é uma chamada assíncrona para a plataforma do Azure Machine Learning para executar uma avaliação em hardware local ou remoto. Consoante a configuração, a submissão 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 é armazenada como parte da experimentação na á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
Devolver o tempo arquivado da 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
Devolver a área de trabalho que contém a experimentação.
Devoluções
Tipo | Description |
---|---|
Devolve o objeto da área de trabalho. |