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

workspace
Workspace
Necessario

Oggetto dell'area di lavoro contenente l'esperimento.

name
str
Necessario

Il nome dell'esperimento.

kwargs
dict
Necessario

Dizionario delle parole chiave args.

workspace
Workspace
Necessario

Oggetto dell'area di lavoro contenente l'esperimento.

name
str
Necessario

Il nome dell'esperimento.

kwargs
dict
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

workspace
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

path
str
Necessario

Directory contenente i file di configurazione dell'esperimento.

auth
ServicePrincipalAuthentication oppure InteractiveLoginAuthentication
valore predefinito: None

Oggetto di autenticazione. Se non verranno usate le credenziali predefinite dell'interfaccia della riga di comando di Azure o l'API richiederà le credenziali.

Restituisce

Restituisce l'esperimento

Tipo restituito

get_docs_url

Url della documentazione per questa classe.

get_docs_url()

Restituisce

url

Tipo restituito

str

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

type
string
valore predefinito: None

Filtrare il generatore restituito di esecuzioni dal tipo specificato. Vedere add_type_provider per la creazione di tipi di esecuzione.

tags
string oppure dict
valore predefinito: None

Filtro eseguito da "tag" o {"tag": "value"}.

properties
string oppure dict
valore predefinito: None

Filtro eseguito da "property" o {"property": "value"}

include_children
bool
valore predefinito: False

Per impostazione predefinita, recuperare solo le esecuzioni di primo livello. Impostare su true per elencare tutte le esecuzioni.

Restituisce

Elenco delle esecuzioni corrispondenti ai filtri forniti.

Tipo restituito

list

Restituisce l'elenco di esperimenti nell'area di lavoro.

static list(workspace, experiment_name=None, view_type='ActiveOnly', tags=None)

Parametri

workspace
Workspace
Necessario

Area di lavoro da cui elencare gli esperimenti.

experiment_name
str
valore predefinito: None

Nome facoltativo per filtrare gli esperimenti.

view_type
ViewType
valore predefinito: ActiveOnly

Valore di enumerazione facoltativo per filtrare o includere esperimenti archiviati.

tags
valore predefinito: None

Chiave tag facoltativa o dizionario di coppie chiave-valore tag per filtrare gli esperimenti.

Restituisce

Elenco di oggetti esperimento.

Tipo restituito

reactivate

Riattiva un esperimento archiviato.

reactivate(new_name=None)

Parametri

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

tags
[str]
Necessario

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

tags
dict[str]
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

experiment
Experiment
Necessario

Esperimento.

outputs
str
Necessario

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

snapshot_directory
str
Necessario

Directory facoltativa di cui eseguire lo snapshot. L'impostazione su None non richiederà uno snapshot.

args
list
Necessario
kwargs
dict
Necessario

Restituisce

Restituisce un'esecuzione avviata.

Tipo restituito

Run

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

config
object
Necessario

Configurazione da inviare.

tags
dict
valore predefinito: None

Tag da aggiungere all'esecuzione inviata, {"tag": "value"}.

kwargs
dict
Necessario

Parametri aggiuntivi usati nella funzione di invio per le configurazioni.

Restituisce

Esecuzione.

Tipo restituito

Run

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.

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

key
str
Necessario

Chiave tag

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

Ora archiviata dell'esperimento.

Tipo restituito

str

id

Id restituito dell'esperimento.

Restituisce

ID dell'esperimento.

Tipo restituito

str

name

Nome restituito dell'esperimento.

Restituisce

Nome dell'esperimento.

Tipo restituito

str

tags

Restituire il set di tag modificabile nell'esperimento.

Restituisce

Tag in un esperimento.

Tipo restituito

workspace

Restituire l'area di lavoro contenente l'esperimento.

Restituisce

Restituisce l'oggetto area di lavoro.

Tipo restituito

workspace_object

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

Usare l'attributo workspace .

Restituisce

Oggetto area di lavoro.

Tipo restituito