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 dell'area di lavoro contenente l'esperimento. |
name
Necessario
|
Il nome dell'esperimento. |
kwargs
Necessario
|
Dizionario delle parole chiave args. |
workspace
Necessario
|
Oggetto dell'area di lavoro contenente l'esperimento. |
name
Necessario
|
Il nome dell'esperimento. |
kwargs
Necessario
|
Dizionario delle parole chiave args. |
_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.
È possibile eseguire una prova di esperimento in due modi. Se si sta sperimentando in modo interattivo in un Jupyter Notebook, usare Se start_logging 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 log 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 eventuali misurazioni di prova e metriche.
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 |
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 esiste 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 dal tipo specificato. Vedere add_type_provider per la creazione di tipi di esecuzione. Valore predefinito: None
|
tags
|
Filtro eseguito da "tag" o {"tag": "value"}. Valore predefinito: None
|
properties
|
Filtro eseguito da "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 delle 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 è presente 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
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 eseguire lo snapshot. L'impostazione su None non richiederà uno 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 Notebooks. 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 in hardware locale o remoto. A seconda della configurazione, l'invio prepara automaticamente gli ambienti di esecuzione, esegue 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 eseguire 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
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 impedire l'inserimento di file nello snapshot, creare un file con estensione gitignore o con estensione amlignore nella directory e aggiungerli. Il file con estensione amlignore usa la stessa sintassi e i modelli del file .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
|
Chiave 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 il tempo archiviato per l'esperimento. Il valore deve essere Nessuno per un esperimento attivo.
Restituisce
Tipo | Descrizione |
---|---|
Ora archiviata dell'esperimento. |
id
name
tags
Restituire il set di tag modificabile nell'esperimento.
Restituisce
Tipo | Descrizione |
---|---|
Tag in un esperimento. |
workspace
Restituire l'area di lavoro contenente l'esperimento.
Restituisce
Tipo | Descrizione |
---|---|
Restituisce l'oggetto area di lavoro. |