Experiment Classe
Rappresenta il punto di ingresso principale per la creazione e l'uso di esperimenti in Azure Machine Learning.
Un esperimento è un contenitore di versioni di valutazione che rappresentano più esecuzioni di modelli.
Costruttore dell'esperimento.
- Ereditarietà
-
azureml._logging.chained_identity.ChainedIdentityExperimentazureml.core._portal.HasExperimentPortalExperiment
Costruttore
Experiment(workspace, name, _skip_name_validation=False, _id=None, _archived_time=None, _create_in_cloud=True, _experiment_dto=None, **kwargs)
Parametri
Nome | Descrizione |
---|---|
workspace
Necessario
|
Oggetto area di lavoro contenente l'esperimento. |
name
Necessario
|
Il nome dell'esperimento. |
kwargs
Necessario
|
Dizionario di argomenti di parole chiave. |
workspace
Necessario
|
Oggetto area di lavoro contenente l'esperimento. |
name
Necessario
|
Il nome dell'esperimento. |
kwargs
Necessario
|
Dizionario di argomenti di parole chiave. |
_skip_name_validation
|
Valore predefinito: False
|
_id
|
Valore predefinito: None
|
_archived_time
|
Valore predefinito: None
|
_create_in_cloud
|
Valore predefinito: True
|
_experiment_dto
|
Valore predefinito: None
|
Commenti
Un esperimento di Azure Machine Learning rappresenta la raccolta di versioni di valutazione usate per convalidare l'ipotesi di un utente.
In Azure Machine Learning un esperimento è rappresentato dalla Experiment classe e una versione di valutazione è rappresentata dalla Run classe .
Per ottenere o creare un esperimento da un'area di lavoro, è necessario richiedere l'esperimento usando il nome dell'esperimento. Il nome dell'esperimento deve essere 3-36 caratteri, iniziare con una lettera o un numero e può contenere solo lettere, numeri, caratteri di sottolineatura e trattini.
experiment = Experiment(workspace, "MyExperiment")
Se l'esperimento non viene trovato nell'area di lavoro, viene creato un nuovo esperimento.
È possibile eseguire una prova di esperimento in due modi. Se si sta sperimentando in modo interattivo in un Jupyter Notebook, usare start_logging Se si invia un esperimento dal codice sorgente o da un altro tipo di versione di valutazione configurata, usaresubmit
Entrambi i meccanismi creano un Run oggetto. Negli scenari interattivi usare metodi di registrazione, ad esempio log per aggiungere misurazioni e metriche al record di valutazione. Negli scenari configurati si usano metodi di stato, get_status ad esempio per recuperare informazioni sull'esecuzione.
In entrambi i casi è possibile usare metodi di query come get_metrics recuperare i valori correnti, se presenti, di misure e metriche di valutazione.
Metodi
archive |
Archiviare un esperimento. |
delete |
Eliminare un esperimento nell'area di lavoro. |
from_directory |
(Deprecato) Caricare un esperimento dal percorso specificato. |
get_docs_url |
URL della documentazione per questa classe. |
get_runs |
Restituisce un generatore delle esecuzioni per questo esperimento, in ordine cronologico inverso. |
list |
Restituisce l'elenco di esperimenti nell'area di lavoro. |
reactivate |
Riattiva un esperimento archiviato. |
refresh |
Restituire la versione più recente dell'esperimento dal cloud. |
remove_tags |
Eliminare i tag specificati dall'esperimento. |
set_tags |
Aggiungere o modificare un set di tag nell'esperimento. I tag non passati nel dizionario vengono lasciati invariati. |
start_logging |
Avviare una sessione di registrazione interattiva e creare un'esecuzione interattiva nell'esperimento specificato. |
submit |
Inviare un esperimento e restituire l'esecuzione creata attiva. |
tag |
Contrassegna l'esperimento con una chiave stringa e un valore stringa facoltativo. |
archive
Archiviare un esperimento.
archive()
Commenti
Dopo l'archiviazione, l'esperimento non verrà elencato per impostazione predefinita. Il tentativo di scrivere in un esperimento archiviato creerà un nuovo esperimento attivo con lo stesso nome. È possibile ripristinare un esperimento archiviato chiamando reactivate finché non è presente un altro esperimento attivo con lo stesso nome.
delete
Eliminare un esperimento nell'area di lavoro.
static delete(workspace, experiment_id)
Parametri
Nome | Descrizione |
---|---|
workspace
Necessario
|
Area di lavoro a cui appartiene l'esperimento. |
experiment_id
Necessario
|
ID esperimento dell'esperimento da eliminare. |
from_directory
(Deprecato) Caricare un esperimento dal percorso specificato.
static from_directory(path, auth=None)
Parametri
Nome | Descrizione |
---|---|
path
Necessario
|
Directory contenente i file di configurazione dell'esperimento. |
auth
|
Oggetto di autenticazione. Se non verranno usate le credenziali predefinite dell'interfaccia della riga di comando di Azure o l'API richiederà le credenziali. Valore predefinito: None
|
Restituisce
Tipo | Descrizione |
---|---|
Restituisce l'esperimento |
get_docs_url
get_runs
Restituisce un generatore delle esecuzioni per questo esperimento, in ordine cronologico inverso.
get_runs(type=None, tags=None, properties=None, include_children=False)
Parametri
Nome | Descrizione |
---|---|
type
|
Filtrare il generatore restituito di esecuzioni in base al tipo specificato. Vedere add_type_provider per la creazione di tipi di esecuzione. Valore predefinito: None
|
tags
|
Il filtro viene eseguito in base a "tag" o {"tag": "value"}. Valore predefinito: None
|
properties
|
Il filtro viene eseguito in base a "property" o {"property": "value"} Valore predefinito: None
|
include_children
|
Per impostazione predefinita, recuperare solo le esecuzioni di primo livello. Impostare su true per elencare tutte le esecuzioni. Valore predefinito: False
|
Restituisce
Tipo | Descrizione |
---|---|
Elenco di esecuzioni corrispondenti ai filtri forniti. |
list
Restituisce l'elenco di esperimenti nell'area di lavoro.
static list(workspace, experiment_name=None, view_type='ActiveOnly', tags=None)
Parametri
Nome | Descrizione |
---|---|
workspace
Necessario
|
Area di lavoro da cui elencare gli esperimenti. |
experiment_name
|
Nome facoltativo per filtrare gli esperimenti. Valore predefinito: None
|
view_type
|
Valore di enumerazione facoltativo per filtrare o includere esperimenti archiviati. Valore predefinito: ActiveOnly
|
tags
|
Chiave tag facoltativa o dizionario di coppie chiave-valore tag per filtrare gli esperimenti. Valore predefinito: None
|
Restituisce
Tipo | Descrizione |
---|---|
Elenco di oggetti esperimento. |
reactivate
Riattiva un esperimento archiviato.
reactivate(new_name=None)
Parametri
Nome | Descrizione |
---|---|
new_name
Necessario
|
Non più supportato |
Commenti
Un esperimento archiviato può essere riattivato solo se non esiste un altro esperimento attivo con lo stesso nome.
refresh
Restituire la versione più recente dell'esperimento dal cloud.
refresh()
remove_tags
Eliminare i tag specificati dall'esperimento.
remove_tags(tags)
Parametri
Nome | Descrizione |
---|---|
tags
Necessario
|
[str]
Chiavi del tag che verranno rimosse |
set_tags
Aggiungere o modificare un set di tag nell'esperimento. I tag non passati nel dizionario vengono lasciati invariati.
set_tags(tags)
Parametri
Nome | Descrizione |
---|---|
tags
Necessario
|
Tag archiviati nell'oggetto esperimento |
start_logging
Avviare una sessione di registrazione interattiva e creare un'esecuzione interattiva nell'esperimento specificato.
start_logging(*args, **kwargs)
Parametri
Nome | Descrizione |
---|---|
experiment
Necessario
|
Esperimento. |
outputs
Necessario
|
Directory di output facoltativa da tenere traccia. Per nessun output, passare False. |
snapshot_directory
Necessario
|
Directory facoltativa di cui creare uno snapshot. L'impostazione su Nessuno non crea alcuno snapshot. |
args
Necessario
|
|
kwargs
Necessario
|
|
Restituisce
Tipo | Descrizione |
---|---|
Restituisce un'esecuzione avviata. |
Commenti
start_logging crea un'esecuzione interattiva da usare in scenari come Jupyter Notebook. Le metriche registrate durante la sessione vengono aggiunte al record esecuzione nell'esperimento. Se viene specificata una directory di output, il contenuto di tale directory viene caricato come artefatti di esecuzione al completamento dell'esecuzione.
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 viene generato automaticamente per ogni esecuzione ed è univoco all'interno dell'esperimento.
submit
Inviare un esperimento e restituire l'esecuzione creata attiva.
submit(config, tags=None, **kwargs)
Parametri
Nome | Descrizione |
---|---|
config
Necessario
|
Configurazione da inviare. |
tags
|
Tag da aggiungere all'esecuzione inviata, {"tag": "value"}. Valore predefinito: None
|
kwargs
Necessario
|
Parametri aggiuntivi usati nella funzione di invio per le configurazioni. |
Restituisce
Tipo | Descrizione |
---|---|
Esecuzione. |
Commenti
Inviare è una chiamata asincrona alla piattaforma Azure Machine Learning per eseguire una versione di valutazione su hardware locale o remoto. A seconda della configurazione, l'invio preparerà automaticamente gli ambienti di esecuzione, eseguirà il codice e acquisirà il codice sorgente e i risultati nella cronologia di esecuzione dell'esperimento.
Per inviare un esperimento, è prima necessario creare un oggetto di configurazione che descrive come deve essere eseguito l'esperimento. La configurazione dipende dal tipo di versione di valutazione richiesta.
Di seguito è riportato un esempio di come inviare un esperimento dal computer locale:
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()
Per informazioni dettagliate su come configurare un'esecuzione, vedere i dettagli del tipo di configurazione.
azureml.train.automl.automlconfig.AutoMLConfig
azureml.pipeline.core.Pipeline
azureml.pipeline.core.PublishedPipeline
azureml.pipeline.core.PipelineEndpoint
Nota
Quando si invia l'esecuzione di training, viene creato uno snapshot della directory contenente gli script di training che viene quindi inviato alla destinazione di calcolo. Lo snapshot viene inoltre archiviato come parte dell'esperimento nell'area di lavoro. Se si modificano i file e si invia di nuovo l'esecuzione, verranno caricati solo i file modificati.
Per evitare che i file vengano inclusi nello snapshot, creare un file con estensione gitignore o .amlignore nella directory e aggiungervi i file. Il file con estensione amlignore usa la stessa sintassi e gli stessi modelli del file con estensione gitignore. Se esistono entrambi i file, il file con estensione amlignore ha la precedenza.
Per altre informazioni, vedere Snapshot.
tag
Contrassegna l'esperimento con una chiave stringa e un valore stringa facoltativo.
tag(key, value=None)
Parametri
Nome | Descrizione |
---|---|
key
Necessario
|
Tasto tag |
value
Necessario
|
Valore facoltativo per il tag |
Commenti
I tag in un esperimento vengono archiviati in un dizionario con chiavi di stringa e valori stringa. I tag possono essere impostati, aggiornati ed eliminati. I tag sono destinati all'utente e in genere contengono informazioni di significato per i consumer dell'esperimento.
experiment.tag('')
experiment.tag('DeploymentCandidate')
experiment.tag('modifiedBy', 'Master CI')
experiment.tag('modifiedBy', 'release pipeline') # Careful, tags are mutable
Attributi
archived_time
Restituisce l'ora archiviata per l'esperimento. Il valore deve essere Nessuno per un esperimento attivo.
Restituisce
Tipo | Descrizione |
---|---|
Ora archiviata dell'esperimento. |
id
name
tags
Restituisce il set modificabile di tag nell'esperimento.
Restituisce
Tipo | Descrizione |
---|---|
Tag in un esperimento. |
workspace
Restituisce l'area di lavoro contenente l'esperimento.
Restituisce
Tipo | Descrizione |
---|---|
Restituisce l'oggetto area di lavoro. |