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.ChainedIdentity
Experiment
azureml.core._portal.HasExperimentPortal
Experiment

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
str

Il nome dell'esperimento.

kwargs
Necessario

Dizionario di argomenti di parole chiave.

workspace
Necessario

Oggetto area di lavoro contenente l'esperimento.

name
Necessario
str

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
str

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

URL della documentazione per questa classe.

get_docs_url()

Restituisce

Tipo Descrizione
str

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
string oppure dict

Il filtro viene eseguito in base a "tag" o {"tag": "value"}.

Valore predefinito: None
properties
string oppure dict

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
str

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
str

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
str

Directory di output facoltativa da tenere traccia. Per nessun output, passare False.

snapshot_directory
Necessario
str

Directory facoltativa di cui creare uno snapshot. L'impostazione su Nessuno non crea alcuno snapshot.

args
Necessario
kwargs
Necessario

Restituisce

Tipo Descrizione
Run

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
Run

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.

  • ScriptRunConfig

  • 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
str

Tasto tag

value
Necessario
str

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
str

Ora archiviata dell'esperimento.

id

ID restituito dell'esperimento.

Restituisce

Tipo Descrizione
str

ID dell'esperimento.

name

Nome restituito dell'esperimento.

Restituisce

Tipo Descrizione
str

Nome dell'esperimento.

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.

workspace_object

(Deprecato) Restituisce l'area di lavoro contenente l'esperimento.

Usare l'attributo workspace .

Restituisce

Tipo Descrizione

Oggetto area di lavoro.