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.
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 dell'area di lavoro contenente l'esperimento. |
|
name
Necessario
|
Nome dell'esperimento. |
|
kwargs
Necessario
|
Dizionario di argomenti di parola chiave. |
|
workspace
Necessario
|
Oggetto dell'area di lavoro contenente l'esperimento. |
|
name
Necessario
|
Nome dell'esperimento. |
|
kwargs
Necessario
|
Dizionario di argomenti di parola 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 di 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.
Esistono due modi per eseguire una versione di valutazione dell'esperimento. Se si sta sperimentando in modo interattivo in un notebook di Jupyter, usare start_logging Se si invia un esperimento dal codice sorgente o da un altro tipo di versione di valutazione configurata, usare submit
Entrambi i meccanismi creano un Run oggetto . Negli scenari interattivi usare metodi di registrazione, log ad esempio per aggiungere misurazioni e metriche al record di valutazione. Negli scenari configurati si usano metodi di stato, ad get_status 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 qualsiasi misurazione e metrica di prova.
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 degli esperimenti nell'area di lavoro. |
| reactivate |
Riattiva un esperimento archiviato. |
| refresh |
Restituisce 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. Un esperimento archiviato può essere ripristinato 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 degli 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
Restituisce 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 di tag che verranno rimosse |
set_tags
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 eseguirà 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. Tutte le metriche registrate durante la sessione vengono aggiunte al record di esecuzione nell'esperimento. Se si specifica 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()
Annotazioni
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 submit 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 acquisisce 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.
Un esempio di come inviare un esperimento dal computer locale è il seguente:
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
Annotazioni
Quando si invia l'esecuzione del training, viene creato e inviato uno snapshot della directory contenente gli script di training 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 nuovamente 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 stringa e valori stringa. I tag possono essere impostati, aggiornati ed eliminati. I tag sono rivolti 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
workspace
Restituisce l'area di lavoro contenente l'esperimento.
Restituisce
| Tipo | Descrizione |
|---|---|
|
Restituisce l'oggetto workspace. |