Run Classe
Definisce la classe base per tutte le esecuzioni dell'esperimento di Azure Machine Learning.
Un'esecuzione rappresenta una singola versione di valutazione di un esperimento. Le esecuzioni vengono usate per monitorare l'esecuzione asincrona di una versione di valutazione, le metriche di log e l'archiviazione dell'output della versione di valutazione e per analizzare i risultati e accedere agli artefatti generati dalla versione di valutazione.
Gli oggetti run vengono creati quando si invia uno script per eseguire il training di un modello in molti scenari diversi in Azure Machine Learning, incluse le esecuzioni di HyperDrive, le esecuzioni della pipeline e l'esecuzione di AutoML. Un oggetto Run viene creato anche quando si submit o start_logging con la Experiment classe .
Per iniziare a usare esperimenti ed esecuzioni, vedere
Inizializzare l'oggetto Run.
Costruttore
Run(experiment, run_id, outputs=None, **kwargs)
Parametri
| Nome | Descrizione |
|---|---|
|
experiment
Necessario
|
Oggetto contenente l'esperimento. |
|
run_id
Necessario
|
ID per l'esecuzione. |
|
outputs
|
Output da tenere traccia. Valore predefinito: None
|
|
_run_dto
Necessario
|
<xref:azureml._restclient.models.run_dto.RunDto>
Solo per uso interno. |
|
kwargs
Necessario
|
Dizionario di parametri di configurazione aggiuntivi. |
|
experiment
Necessario
|
Oggetto contenente l'esperimento. |
|
run_id
Necessario
|
ID per l'esecuzione. |
|
outputs
Necessario
|
Output da tenere traccia. |
|
kwargs
Necessario
|
Dizionario di parametri di configurazione aggiuntivi. |
Commenti
Un'esecuzione rappresenta una singola versione di valutazione di un esperimento. Un oggetto Run viene usato per monitorare l'esecuzione asincrona di una versione di valutazione, le metriche di log e archiviare l'output della versione di valutazione e per analizzare i risultati e accedere agli artefatti generati dalla versione di valutazione.
L'esecuzione viene usata all'interno del codice di sperimentazione per registrare metriche e artefatti nel servizio Cronologia di esecuzione.
L'esecuzione viene usata all'esterno degli esperimenti per monitorare lo stato di avanzamento e per eseguire query e analizzare le metriche e i risultati generati.
La funzionalità Di esecuzione include:
Archiviazione e recupero di metriche e dati
Caricamento e download di file
Uso di tag e della gerarchia figlio per una ricerca semplice delle esecuzioni precedenti
Registrazione di file di modello archiviati come modello che possono essere operativi
Archiviazione, modifica e recupero delle proprietà di un'esecuzione
Caricamento dell'esecuzione corrente da un ambiente remoto con il get_context metodo
Creazione efficiente di snapshot di un file o di una directory per la riproducibilità
Questa classe funziona con in Experiment questi scenari:
Creazione di un'esecuzione eseguendo il codice usando submit
Creazione di un'esecuzione interattiva in un notebook tramite start_logging
Registrazione delle metriche e caricamento di elementi nell'esperimento, ad esempio quando si usa log
Lettura delle metriche e download di artefatti durante l'analisi dei risultati sperimentali, ad esempio quando si usa get_metrics
Per inviare un'esecuzione, creare un oggetto di configurazione che descrive come viene eseguito l'esperimento. Ecco alcuni esempi dei diversi oggetti di configurazione che è possibile usare:
azureml.train.automl.automlconfig.AutoMLConfig
azureml.train.hyperdrive.HyperDriveConfig
azureml.pipeline.core.Pipeline
azureml.pipeline.core.PublishedPipeline
azureml.pipeline.core.PipelineEndpoint
È possibile aggiungere le metriche seguenti a un'esecuzione durante il training di un esperimento.
Scalare
Registrare un valore numerico o stringa per l'esecuzione con il nome specificato usando log. La registrazione di una metrica in un'esecuzione causa l'archiviazione della metrica nel record di esecuzione nell'esperimento. È possibile registrare la stessa metrica più volte all'interno di un'esecuzione, il risultato considerato un vettore di tale metrica.
Esempio:
run.log("accuracy", 0.95)
Elenco
Registrare un elenco di valori per l'esecuzione con il nome specificato usando log_list.
Esempio:
run.log_list("accuracies", [0.6, 0.7, 0.87])
Fila
L'uso di log_row crea una metrica con più colonne, come descritto in
kwargs. Ogni parametro denominato genera una colonna con il valore specificato.log_rowpuò essere chiamato una volta per registrare una tupla arbitraria o più volte in un ciclo per generare una tabella completa.Esempio:
run.log_row("Y over X", x=1, y=0.4)
Tabella
Registrare un oggetto dizionario per l'esecuzione con il nome specificato usando log_table.
Esempio:
run.log_table("Y over X", {"x":[1, 2, 3], "y":[0.6, 0.7, 0.89]})
Immagine
Registrare un'immagine nel record di esecuzione. Usare log_image per registrare un file di immagine o un tracciato matplotlib per l'esecuzione. Queste immagini saranno visibili e confrontabili nel record di esecuzione.
Esempio:
run.log_image("ROC", path)
Metodi
| add_properties |
Aggiungere proprietà non modificabili all'esecuzione. I tag e le proprietà (entrambi dict[str, str]) differiscono nella loro mutabilità. Le proprietà non sono modificabili, quindi creano un record permanente a scopo di controllo. I tag sono modificabili. Per altre informazioni sull'uso di tag e proprietà, vedere Tag e trovare esecuzioni. |
| add_type_provider |
Hook di estendibilità per i tipi run personalizzati archiviati nella cronologia di esecuzione. |
| cancel |
Contrassegnare l'esecuzione come annullata. Se è presente un processo associato a un campo impostato cancel_uri, terminare anche il processo. |
| child_run |
Creare un'esecuzione figlio. |
| clean |
Rimuovere i file corrispondenti all'esecuzione corrente nella destinazione specificata nella configurazione di esecuzione. |
| complete |
Attendere l'elaborazione della coda di attività. L'esecuzione viene quindi contrassegnata come completata. Questo viene in genere usato in scenari di notebook interattivi. |
| create_children |
Creare una o più esecuzioni figlio. |
| download_file |
Scaricare un file associato dall'archiviazione. |
| download_files |
Scaricare i file da un prefisso di archiviazione specificato (nome cartella) o dall'intero contenitore se il prefisso non è specificato. |
| fail |
Contrassegnare l'esecuzione come non riuscita. Facoltativamente, impostare la proprietà Error dell'esecuzione con un messaggio o un'eccezione passata a |
| flush |
Attendere l'elaborazione della coda di attività. |
| get |
Ottenere l'esecuzione per questa area di lavoro con il relativo ID esecuzione. |
| get_all_logs |
Scaricare tutti i log per l'esecuzione in una directory. |
| get_children |
Ottiene tutti gli elementi figlio per l'esecuzione corrente selezionata dai filtri specificati. |
| get_context |
Restituisce il contesto del servizio corrente. Usare questo metodo per recuperare il contesto del servizio corrente per la registrazione delle metriche e il caricamento dei file. Se |
| get_detailed_status |
Recuperare lo stato più recente dell'esecuzione. Se lo stato dell'esecuzione è "In coda", mostrerà i dettagli. |
| get_details |
Ottenere la definizione, le informazioni sullo stato, i file di log correnti e altri dettagli dell'esecuzione. |
| get_details_with_logs |
Restituisce lo stato dell'esecuzione, incluso il contenuto del file di log. |
| get_environment |
Ottenere la definizione dell'ambiente usata da questa esecuzione. |
| get_file_names |
Elencare i file archiviati in associazione all'esecuzione. |
| get_metrics |
Recuperare le metriche registrate nell'esecuzione. Se |
| get_properties |
Recuperare le proprietà più recenti dell'esecuzione dal servizio. |
| get_secret |
Ottenere il valore del segreto dal contesto di un'esecuzione. Ottenere il valore del segreto per il nome specificato. Il nome del segreto fa riferimento a un valore archiviato in Azure Key Vault associato all'area di lavoro. Per un esempio di utilizzo dei segreti, vedere Usare i segreti nelle esecuzioni di training. |
| get_secrets |
Ottenere i valori dei segreti per un determinato elenco di nomi segreti. Ottenere un dizionario di segreti trovati e non trovati per l'elenco dei nomi specificati. Ogni nome segreto fa riferimento a un valore archiviato in Azure Key Vault associato all'area di lavoro. Per un esempio di utilizzo dei segreti, vedere Usare i segreti nelle esecuzioni di training. |
| get_snapshot_id |
Ottenere l'ID snapshot più recente. |
| get_status |
Recuperare lo stato più recente dell'esecuzione. I valori comuni restituiti includono "Running", "Completed" e "Failed". |
| get_submitted_run |
DEPRECATO. Usa get_context. Ottenere l'esecuzione inviata per questo esperimento. |
| get_tags |
Recuperare il set più recente di tag modificabili nell'esecuzione dal servizio. |
| list |
Ottenere un elenco di esecuzioni in un esperimento specificato da filtri facoltativi. |
| list_by_compute |
Ottenere un elenco di esecuzioni in un ambiente di calcolo specificato da filtri facoltativi. |
| log |
Registrare un valore della metrica per l'esecuzione con il nome specificato. |
| log_accuracy_table |
Registrare una tabella di accuratezza nell'archivio artefatti. La metrica della tabella di accuratezza è una metrica non scalare multi-uso che può essere usata per produrre più tipi di grafici a linee che variano continuamente rispetto allo spazio delle probabilità stimate. Esempi di questi grafici sono ROC, precision-recall e curve di accuratezza. Il calcolo della tabella di accuratezza è simile al calcolo di una curva ROC. Una curva ROC archivia i tassi positivi reali e i tassi falsi positivi a molte soglie di probabilità diverse. La tabella di accuratezza archivia il numero non elaborato di veri positivi, falsi positivi, veri negativi e falsi negativi a molte soglie di probabilità. Esistono due metodi usati per la selezione delle soglie: "probabilità" e "percentile". Differiscono in base al modo in cui campionano dallo spazio delle probabilità stimate. Le soglie di probabilità sono soglie con spaziatura uniforme tra 0 e 1. Se NUM_POINTS è 5, le soglie di probabilità saranno [0,0, 0,25, 0,5, 0,75, 1,0]. Le soglie percentili vengono spaziate in base alla distribuzione delle probabilità stimate. Ogni soglia corrisponde al percentile dei dati a una soglia di probabilità. Ad esempio, se NUM_POINTS è 5, la prima soglia sarà al 0° percentile, la seconda al 25° percentile, la terza al 50° e così via. Le tabelle di probabilità e le tabelle percentili sono entrambi elenchi 3D in cui la prima dimensione rappresenta l'etichetta di classe, la seconda dimensione rappresenta il campione a una soglia (scale con NUM_POINTS) e la terza dimensione ha sempre 4 valori: TP, FP, TN, FN e sempre in tale ordine. I valori di confusione (TP, FP, TN, FN) vengono calcolati con la strategia uno e rest. Per altri dettagli, vedere il collegamento seguente: https://en.wikipedia.org/wiki/Multiclass_classification N = # di campioni nel set di dati di convalida (200 in esempio) M = # thresholds = # samples ricavati dallo spazio probabilità (5 in esempio) C = # classi nel set di dati completo (3 in esempio) Alcune invarianti della tabella di accuratezza:
Nota: M può essere qualsiasi valore e controlla la risoluzione dei grafici Questo è indipendente dal set di dati, viene definito durante il calcolo delle metriche e impedisce lo spazio di archiviazione, il tempo di calcolo e la risoluzione. Le etichette di classe devono essere stringhe, i valori di confusione devono essere interi e le soglie devono essere float. |
| log_confusion_matrix |
Registrare una matrice di confusione nell'archivio artefatti. In questo modo viene registrato un wrapper intorno alla matrice di confusione sklearn. I dati delle metriche contengono le etichette di classe e un elenco 2D per la matrice stessa. Per altre informazioni sul calcolo della metrica, vedere il collegamento seguente: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html |
| log_image |
Registrare una metrica dell'immagine nel record di esecuzione. |
| log_list |
Registrare un elenco di valori delle metriche per l'esecuzione con il nome specificato. |
| log_predictions |
Registrare le stime nell'archivio artefatti. In questo modo viene registrato un punteggio di metrica che può essere usato per confrontare le distribuzioni di valori di destinazione reali con la distribuzione dei valori stimati per un'attività di regressione. Le stime sono binned e le deviazioni standard vengono calcolate per le barre di errore in un grafico a linee. |
| log_residuals |
Registrare i residui nell'archivio artefatti. In questo modo vengono visualizzati i dati necessari per visualizzare un istogramma di residui per un'attività di regressione. I residui sono stimati- effettivi. Deve essere presente un arco maggiore del numero di conteggi. Per esempi di utilizzo di conteggi e archi per rappresentare un istogramma, vedere la documentazione dell'istogramma numpy. https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html |
| log_row |
Registrare una metrica di riga per l'esecuzione con il nome specificato. |
| log_table |
Registrare una metrica della tabella nell'esecuzione con il nome specificato. |
| register_model |
Registrare un modello per l'operazionalizzazione. |
| remove_tags |
Eliminare l'elenco di tag modificabili in questa esecuzione. |
| restore_snapshot |
Ripristinare uno snapshot come file ZIP. Restituisce il percorso del file ZIP. |
| set_tags |
Aggiungere o modificare un set di tag nell'esecuzione. I tag non passati nel dizionario vengono lasciati invariati. È anche possibile aggiungere tag stringa semplici. Quando questi tag vengono visualizzati nel dizionario tag come chiavi, hanno il valore Nessuno. Per altre informazioni, vedere Contrassegna e trova esecuzioni. |
| start |
Contrassegnare l'esecuzione come avviata. Questo viene in genere usato in scenari avanzati quando l'esecuzione è stata creata da un altro attore. |
| submit_child |
Inviare un esperimento e restituire l'esecuzione figlio attiva. |
| tag |
Contrassegna l'esecuzione con una chiave stringa e un valore stringa facoltativo. |
| take_snapshot |
Salvare uno snapshot del file o della cartella di input. |
| upload_file |
Caricare un file nel record di esecuzione. |
| upload_files |
Caricare i file nel record di esecuzione. |
| upload_folder |
Caricare la cartella specificata nel nome del prefisso specificato. |
| wait_for_completion |
Attendere il completamento dell'esecuzione. Restituisce l'oggetto stato dopo l'attesa. |
add_properties
Aggiungere proprietà non modificabili all'esecuzione.
I tag e le proprietà (entrambi dict[str, str]) differiscono nella loro mutabilità. Le proprietà non sono modificabili, quindi creano un record permanente a scopo di controllo. I tag sono modificabili. Per altre informazioni sull'uso di tag e proprietà, vedere Tag e trovare esecuzioni.
add_properties(properties)
Parametri
| Nome | Descrizione |
|---|---|
|
properties
Necessario
|
Proprietà nascoste archiviate nell'oggetto run. |
add_type_provider
Hook di estendibilità per i tipi run personalizzati archiviati nella cronologia di esecuzione.
static add_type_provider(runtype, run_factory)
Parametri
| Nome | Descrizione |
|---|---|
|
runtype
Necessario
|
Valore di Run.type per il quale verrà richiamata la factory. Gli esempi includono 'hyperdrive' o 'azureml.scriptrun', ma possono essere estesi con tipi personalizzati. |
|
run_factory
Necessario
|
<xref:function>
Funzione con firma (Experiment, RunDto) -> Esegui da richiamare durante l'esecuzione dell'elenco. |
cancel
Contrassegnare l'esecuzione come annullata.
Se è presente un processo associato a un campo impostato cancel_uri, terminare anche il processo.
cancel()
child_run
Creare un'esecuzione figlio.
child_run(name=None, run_id=None, outputs=None)
Parametri
| Nome | Descrizione |
|---|---|
|
name
|
Nome facoltativo per l'esecuzione figlio, in genere specificato per una "parte". Valore predefinito: None
|
|
run_id
|
ID di esecuzione facoltativo per l'elemento figlio; in caso contrario, viene generato automaticamente. In genere questo parametro non è impostato. Valore predefinito: None
|
|
outputs
|
Directory di output facoltativa da tenere traccia per l'elemento figlio. Valore predefinito: None
|
Restituisce
| Tipo | Descrizione |
|---|---|
|
Esecuzione figlio. |
Commenti
Viene usato per isolare parte di un'esecuzione in una sottosezione. Questa operazione può essere eseguita per identificare "parti" di un'esecuzione interessanti da separare o per acquisire metriche indipendenti in un'interazione di un sottoprocesso.
Se per l'esecuzione figlio è impostata una directory di output, il contenuto di tale directory verrà caricato nel record di esecuzione figlio al termine dell'esecuzione figlio.
clean
Rimuovere i file corrispondenti all'esecuzione corrente nella destinazione specificata nella configurazione di esecuzione.
clean()
Restituisce
| Tipo | Descrizione |
|---|---|
|
Elenco di file eliminati. |
complete
Attendere l'elaborazione della coda di attività.
L'esecuzione viene quindi contrassegnata come completata. Questo viene in genere usato in scenari di notebook interattivi.
complete(_set_status=True)
Parametri
| Nome | Descrizione |
|---|---|
|
_set_status
|
Indica se inviare l'evento di stato per il rilevamento. Valore predefinito: True
|
create_children
Creare una o più esecuzioni figlio.
create_children(count=None, tag_key=None, tag_values=None)
Parametri
| Nome | Descrizione |
|---|---|
|
count
|
Numero facoltativo di elementi figlio da creare. Valore predefinito: None
|
|
tag_key
|
Chiave facoltativa per popolare la voce Tag in tutti gli elementi figlio creati. Valore predefinito: None
|
|
tag_Values
Necessario
|
Elenco facoltativo di valori che verranno mappati ai tag[tag_key] per l'elenco delle esecuzioni create. |
|
tag_values
|
Valore predefinito: None
|
Restituisce
| Tipo | Descrizione |
|---|---|
|
Elenco di esecuzioni figlio. |
Commenti
count È necessario specificare i tag_keytag_values parametri OR.
download_file
download_files
Scaricare i file da un prefisso di archiviazione specificato (nome cartella) o dall'intero contenitore se il prefisso non è specificato.
download_files(prefix=None, output_directory=None, output_paths=None, batch_size=100, append_prefix=True, timeout_seconds=None)
Parametri
| Nome | Descrizione |
|---|---|
|
prefix
Necessario
|
Prefisso del percorso file all'interno del contenitore da cui scaricare tutti gli artefatti. |
|
output_directory
Necessario
|
Directory facoltativa usata da tutti i percorsi degli artefatti come prefisso. |
|
output_paths
Necessario
|
[str]
Percorsi file facoltativi in cui archiviare gli artefatti scaricati. Deve essere univoco e deve corrispondere alla lunghezza dei percorsi. |
|
batch_size
Necessario
|
Numero di file da scaricare per batch. Il valore predefinito è 100 file. |
|
append_prefix
Necessario
|
Flag facoltativo se aggiungere il prefisso specificato dal percorso del file di output finale. Se False, il prefisso viene rimosso dal percorso del file di output. |
|
timeout_seconds
Necessario
|
Timeout per il download dei file. |
fail
Contrassegnare l'esecuzione come non riuscita.
Facoltativamente, impostare la proprietà Error dell'esecuzione con un messaggio o un'eccezione passata a error_details.
fail(error_details=None, error_code=None, _set_status=True)
Parametri
| Nome | Descrizione |
|---|---|
|
error_details
|
str oppure
BaseException
Dettagli facoltativi dell'errore. Valore predefinito: None
|
|
error_code
|
Codice di errore facoltativo dell'errore per la classificazione degli errori. Valore predefinito: None
|
|
_set_status
|
Indica se inviare l'evento di stato per il rilevamento. Valore predefinito: True
|
flush
Attendere l'elaborazione della coda di attività.
flush(timeout_seconds=300)
Parametri
| Nome | Descrizione |
|---|---|
|
timeout_seconds
|
Tempo di attesa (in secondi) per l'elaborazione della coda di attività. Valore predefinito: 300
|
get
Ottenere l'esecuzione per questa area di lavoro con il relativo ID esecuzione.
static get(workspace, run_id)
Parametri
| Nome | Descrizione |
|---|---|
|
workspace
Necessario
|
Oggetto contenitore dell'area di lavoro. |
|
run_id
Necessario
|
ID esecuzione. |
Restituisce
| Tipo | Descrizione |
|---|---|
|
Esecuzione inviata. |
get_all_logs
Scaricare tutti i log per l'esecuzione in una directory.
get_all_logs(destination=None)
Parametri
| Nome | Descrizione |
|---|---|
|
destination
|
Percorso di destinazione in cui archiviare i log. Se non specificato, viene creata una directory denominata come ID esecuzione nella directory del progetto. Valore predefinito: None
|
Restituisce
| Tipo | Descrizione |
|---|---|
|
Elenco dei nomi dei log scaricati. |
get_children
Ottiene tutti gli elementi figlio per l'esecuzione corrente selezionata dai filtri specificati.
get_children(recursive=False, tags=None, properties=None, type=None, status=None, _rehydrate_runs=True)
Parametri
| Nome | Descrizione |
|---|---|
|
recursive
|
Indica se ripetere tutti i discendenti. Valore predefinito: False
|
|
tags
|
Se specificato, restituisce le esecuzioni corrispondenti a "tag" o {"tag": "value"}. Valore predefinito: None
|
|
properties
|
Se specificato, restituisce la corrispondenza tra "property" o {"property": "value"}. Valore predefinito: None
|
|
type
|
Se specificato, restituisce le esecuzioni corrispondenti a questo tipo. Valore predefinito: None
|
|
status
|
Se specificato, restituisce l'esecuzione con stato specificato "status". Valore predefinito: None
|
|
_rehydrate_runs
|
Indica se creare un'istanza di un'esecuzione del tipo originale o dell'esecuzione di base. Valore predefinito: True
|
Restituisce
| Tipo | Descrizione |
|---|---|
|
Elenco di Run oggetti. |
get_context
Restituisce il contesto del servizio corrente.
Usare questo metodo per recuperare il contesto del servizio corrente per la registrazione delle metriche e il caricamento dei file. Se allow_offline è True (impostazione predefinita), le azioni sull'oggetto Run verranno stampate in modo standard.
get_context(allow_offline=True, used_for_context_manager=False, **kwargs)
Parametri
| Nome | Descrizione |
|---|---|
|
cls
Necessario
|
Indica il metodo della classe. |
|
allow_offline
|
Consentire al contesto del servizio di eseguire il fallback alla modalità offline in modo che lo script di training possa essere testato in locale senza inviare un processo con l'SDK. True per impostazione predefinita. Valore predefinito: True
|
|
kwargs
Necessario
|
Dizionario di parametri aggiuntivi. |
|
used_for_context_manager
|
Valore predefinito: False
|
Restituisce
| Tipo | Descrizione |
|---|---|
|
Esecuzione inviata. |
Commenti
Questa funzione viene comunemente usata per recuperare l'oggetto Run autenticato all'interno di uno script da inviare per l'esecuzione tramite experiment.submit(). Questo oggetto run è un contesto autenticato per comunicare con i servizi di Azure Machine Learning e un contenitore concettuale in cui sono contenuti metriche, file (artefatti) e modelli.
run = Run.get_context() # allow_offline=True by default, so can be run locally as well
...
run.log("Accuracy", 0.98)
run.log_row("Performance", epoch=e, error=err)
get_detailed_status
Recuperare lo stato più recente dell'esecuzione. Se lo stato dell'esecuzione è "In coda", mostrerà i dettagli.
get_detailed_status()
Restituisce
| Tipo | Descrizione |
|---|---|
|
Lo stato e i dettagli più recenti |
Commenti
status: stato corrente dell'esecuzione. Stesso valore restituito da get_status().
dettagli: informazioni dettagliate per lo stato corrente.
run = experiment.submit(config)
details = run.get_detailed_status()
# details = {
# 'status': 'Queued',
# 'details': 'Run requested 1 node(s). Run is in pending status.',
# }
get_details
Ottenere la definizione, le informazioni sullo stato, i file di log correnti e altri dettagli dell'esecuzione.
get_details()
Restituisce
| Tipo | Descrizione |
|---|---|
|
Restituire i dettagli per l'esecuzione |
Commenti
Il dizionario restituito contiene le coppie chiave-valore seguenti:
runId: ID di questa esecuzione.
bersaglio
status: stato corrente dell'esecuzione. Stesso valore restituito da get_status().
startTimeUtc: ora UTC dell'avvio dell'esecuzione, in ISO8601.
endTimeUtc: ora UTC di quando l'esecuzione è stata completata (completata o non riuscita) in ISO8601.
Questa chiave non esiste se l'esecuzione è ancora in corso.
proprietà: coppie chiave-valore non modificabili associate all'esecuzione. Le proprietà predefinite includono l'ID snapshot dell'esecuzione e le informazioni sul repository Git da cui è stata creata l'esecuzione (se presente). È possibile aggiungere proprietà aggiuntive a un'esecuzione usando add_properties.
inputDatasets: set di dati di input associati all'esecuzione.
outputDatasets: set di dati di output associati all'esecuzione.
logFiles
submittedBy
run = experiment.start_logging()
details = run.get_details()
# details = {
# 'runId': '5c24aa28-6e4a-4572-96a0-fb522d26fe2d',
# 'target': 'sdk',
# 'status': 'Running',
# 'startTimeUtc': '2019-01-01T13:08:01.713777Z',
# 'endTimeUtc': '2019-01-01T17:15:65.986253Z',
# 'properties': {
# 'azureml.git.repository_uri': 'https://example.com/my/git/repo',
# 'azureml.git.branch': 'master',
# 'azureml.git.commit': '7dc972657c2168927a02c3bc2b161e0f370365d7',
# 'azureml.git.dirty': 'True',
# 'mlflow.source.git.repoURL': 'https://example.com/my/git/repo',
# 'mlflow.source.git.branch': 'master',
# 'mlflow.source.git.commit': '7dc972657c2168927a02c3bc2b161e0f370365d7',
# 'ContentSnapshotId': 'b4689489-ce2f-4db5-b6d7-6ad11e77079c'
# },
# 'inputDatasets': [{
# 'dataset': {'id': 'cdebf245-701d-4a68-8055-41f9cf44f298'},
# 'consumptionDetails': {
# 'type': 'RunInput',
# 'inputName': 'training-data',
# 'mechanism': 'Mount',
# 'pathOnCompute': '/mnt/datasets/train'
# }
# }],
# 'outputDatasets': [{
# 'dataset': {'id': 'd04e8a19-1caa-4b1f-b318-4cbff9af9615'},
# 'outputType': 'RunOutput',
# 'outputDetails': {
# 'outputName': 'training-result'
# }
# }],
# 'runDefinition': {},
# 'logFiles': {},
# 'submittedBy': 'Alan Turing'
# }
get_details_with_logs
Restituisce lo stato dell'esecuzione, incluso il contenuto del file di log.
get_details_with_logs()
Restituisce
| Tipo | Descrizione |
|---|---|
|
Restituisce lo stato per l'esecuzione con il contenuto del file di log. |
get_environment
Ottenere la definizione dell'ambiente usata da questa esecuzione.
get_environment()
Restituisce
| Tipo | Descrizione |
|---|---|
|
Restituisce l'oggetto ambiente. |
get_file_names
get_metrics
Recuperare le metriche registrate nell'esecuzione.
Se recursive è True (False per impostazione predefinita), recuperare le metriche per le esecuzioni nel sottoalbero dell'esecuzione specificata.
get_metrics(name=None, recursive=False, run_type=None, populate=False)
Parametri
| Nome | Descrizione |
|---|---|
|
name
|
Nome della metrica. Valore predefinito: None
|
|
recursive
|
Indica se ripetere tutti i discendenti. Valore predefinito: False
|
|
run_type
|
Valore predefinito: None
|
|
populate
|
Indica se recuperare il contenuto dei dati esterni collegati alla metrica. Valore predefinito: False
|
Restituisce
| Tipo | Descrizione |
|---|---|
|
Dizionario contenente le metriche degli utenti. |
Commenti
run = experiment.start_logging() # run id: 123
run.log("A", 1)
with run.child_run() as child: # run id: 456
child.log("A", 2)
metrics = run.get_metrics()
# metrics = { 'A': 1 }
metrics = run.get_metrics(recursive=True)
# metrics = { '123': { 'A': 1 }, '456': { 'A': 2 } } note key is runId
get_properties
Recuperare le proprietà più recenti dell'esecuzione dal servizio.
get_properties()
Restituisce
| Tipo | Descrizione |
|---|---|
|
Proprietà dell'esecuzione. |
Commenti
Le proprietà sono informazioni generate dal sistema non modificabili, ad esempio durata, data di esecuzione, utente e proprietà personalizzate aggiunte con il add_properties metodo . Per altre informazioni, vedere Contrassegna e trova esecuzioni.
Quando si invia un processo ad Azure Machine Learning, se i file di origine vengono archiviati in un repository Git locale, le informazioni sul repository vengono archiviate come proprietà. Queste proprietà Git vengono aggiunte durante la creazione di un'esecuzione o una chiamata a Experiment.submit. Per altre informazioni sulle proprietà Git, vedere Integrazione git per Azure Machine Learning.
get_secret
Ottenere il valore del segreto dal contesto di un'esecuzione.
Ottenere il valore del segreto per il nome specificato. Il nome del segreto fa riferimento a un valore archiviato in Azure Key Vault associato all'area di lavoro. Per un esempio di utilizzo dei segreti, vedere Usare i segreti nelle esecuzioni di training.
get_secret(name)
Parametri
| Nome | Descrizione |
|---|---|
|
name
Necessario
|
Nome del segreto per il quale restituire un segreto. |
Restituisce
| Tipo | Descrizione |
|---|---|
|
Valore del segreto. |
get_secrets
Ottenere i valori dei segreti per un determinato elenco di nomi segreti.
Ottenere un dizionario di segreti trovati e non trovati per l'elenco dei nomi specificati. Ogni nome segreto fa riferimento a un valore archiviato in Azure Key Vault associato all'area di lavoro. Per un esempio di utilizzo dei segreti, vedere Usare i segreti nelle esecuzioni di training.
get_secrets(secrets)
Parametri
| Nome | Descrizione |
|---|---|
|
secrets
Necessario
|
Elenco di nomi segreti per i quali restituire i valori dei segreti. |
Restituisce
| Tipo | Descrizione |
|---|---|
|
Restituisce un dizionario di segreti trovati e non trovati. |
get_snapshot_id
Ottenere l'ID snapshot più recente.
get_snapshot_id()
Restituisce
| Tipo | Descrizione |
|---|---|
|
ID snapshot più recente. |
get_status
Recuperare lo stato più recente dell'esecuzione.
I valori comuni restituiti includono "Running", "Completed" e "Failed".
get_status()
Restituisce
| Tipo | Descrizione |
|---|---|
|
Stato più recente. |
Commenti
NotStarted: si tratta di un oggetto Run sul lato client di stato temporaneo che si trova prima dell'invio nel cloud.
Avvio: l'esecuzione è stata avviata nell'elaborazione nel cloud. Il chiamante ha un ID di esecuzione a questo punto.
Provisioning: restituito quando viene creato un calcolo su richiesta per un invio di processo specificato.
Preparazione: l'ambiente di esecuzione è in fase di preparazione:
Compilazione di immagini docker
Configurazione dell'ambiente conda
Accodato: il processo viene accodato nella destinazione di calcolo. Ad esempio, in BatchAI il processo si trova nello stato in coda
in attesa che tutti i nodi richiesti siano pronti.
In esecuzione: processo avviato per l'esecuzione nella destinazione di calcolo.
Finalizzazione: il codice utente è stato completato e l'esecuzione è in fasi di post-elaborazione.
CancelRequested: l'annullamento è stato richiesto per il processo.
Completato: l'esecuzione è stata completata correttamente. Ciò include sia il codice utente che l'esecuzione
fasi di post-elaborazione.
Operazione non riuscita: l'esecuzione non è riuscita. In genere la proprietà Error in un'esecuzione fornirà informazioni dettagliate sul motivo.
Annullata: segue una richiesta di annullamento e indica che l'esecuzione è stata annullata correttamente.
NotResponding: per le esecuzioni con heartbeat abilitati, non è stato inviato di recente alcun heartbeat.
run = experiment.submit(config)
while run.get_status() not in ['Completed', 'Failed']: # For example purposes only, not exhaustive
print('Run {} not in terminal state'.format(run.id))
time.sleep(10)
get_submitted_run
DEPRECATO. Usa get_context.
Ottenere l'esecuzione inviata per questo esperimento.
get_submitted_run(**kwargs)
Restituisce
| Tipo | Descrizione |
|---|---|
|
Esecuzione inviata. |
get_tags
Recuperare il set più recente di tag modificabili nell'esecuzione dal servizio.
get_tags()
Restituisce
| Tipo | Descrizione |
|---|---|
|
Tag archiviati nell'oggetto run. |
list
Ottenere un elenco di esecuzioni in un esperimento specificato da filtri facoltativi.
static list(experiment, type=None, tags=None, properties=None, status=None, include_children=False, _rehydrate_runs=True)
Parametri
| Nome | Descrizione |
|---|---|
|
experiment
Necessario
|
Oggetto contenente l'esperimento. |
|
type
|
Se specificato, restituisce la corrispondenza del tipo specificato. Valore predefinito: None
|
|
tags
|
Se specificato, restituisce le esecuzioni corrispondenti a "tag" o {"tag": "value"}. Valore predefinito: None
|
|
properties
|
Se specificato, restituisce la corrispondenza tra "property" o {"property": "value"}. Valore predefinito: None
|
|
status
|
Se specificato, restituisce l'esecuzione con stato specificato "status". Valore predefinito: None
|
|
include_children
|
Se impostato su true, recuperare tutte le esecuzioni, non solo quelle di primo livello. Valore predefinito: False
|
|
_rehydrate_runs
|
Se impostato su True (per impostazione predefinita), userà il provider registrato per reinstantiare un oggetto per tale tipo anziché per l'esecuzione di base. Valore predefinito: True
|
Restituisce
| Tipo | Descrizione |
|---|---|
|
Elenco di esecuzioni. |
Commenti
Nell'esempio di codice seguente vengono illustrati alcuni usi del list metodo .
favorite_completed_runs = Run.list(experiment, status='Completed', tags='favorite')
all_distinct_runs = Run.list(experiment)
and_their_children = Run.list(experiment, include_children=True)
only_script_runs = Run.list(experiment, type=ScriptRun.RUN_TYPE)
list_by_compute
Ottenere un elenco di esecuzioni in un ambiente di calcolo specificato da filtri facoltativi.
static list_by_compute(compute, type=None, tags=None, properties=None, status=None)
Parametri
| Nome | Descrizione |
|---|---|
|
compute
Necessario
|
Oggetto contenente il calcolo. |
|
type
|
Se specificato, restituisce la corrispondenza del tipo specificato. Valore predefinito: None
|
|
tags
|
Se specificato, restituisce le esecuzioni corrispondenti a "tag" o {"tag": "value"}. Valore predefinito: None
|
|
properties
|
Se specificato, restituisce la corrispondenza tra "property" o {"property": "value"}. Valore predefinito: None
|
|
status
|
Se specificato, restituisce l'esecuzione con stato specificato "status". Solo i valori consentiti sono "Running" e "Queued". Valore predefinito: None
|
Restituisce
| Tipo | Descrizione |
|---|---|
|
<xref:builtin.generator>
|
generatore di ~_restclient.models.RunDto |
log
Registrare un valore della metrica per l'esecuzione con il nome specificato.
log(name, value, description='', step=None)
Parametri
| Nome | Descrizione |
|---|---|
|
name
Necessario
|
Nome della metrica. |
|
value
Necessario
|
Valore da registrare nel servizio. |
|
description
Necessario
|
Descrizione della metrica facoltativa. |
|
step
|
Asse facoltativo per specificare l'ordine dei valori all'interno di una metrica. Valore predefinito: None
|
Commenti
La registrazione di una metrica in un'esecuzione causa l'archiviazione della metrica nel record di esecuzione nell'esperimento. È possibile registrare la stessa metrica più volte all'interno di un'esecuzione, il risultato considerato un vettore di tale metrica. Se il passaggio viene specificato per una metrica, deve essere specificato per tutti i valori.
log_accuracy_table
Registrare una tabella di accuratezza nell'archivio artefatti.
La metrica della tabella di accuratezza è una metrica non scalare multi-uso che può essere usata per produrre più tipi di grafici a linee che variano continuamente rispetto allo spazio delle probabilità stimate. Esempi di questi grafici sono ROC, precision-recall e curve di accuratezza.
Il calcolo della tabella di accuratezza è simile al calcolo di una curva ROC. Una curva ROC archivia i tassi positivi reali e i tassi falsi positivi a molte soglie di probabilità diverse. La tabella di accuratezza archivia il numero non elaborato di veri positivi, falsi positivi, veri negativi e falsi negativi a molte soglie di probabilità.
Esistono due metodi usati per la selezione delle soglie: "probabilità" e "percentile". Differiscono in base al modo in cui campionano dallo spazio delle probabilità stimate.
Le soglie di probabilità sono soglie con spaziatura uniforme tra 0 e 1. Se NUM_POINTS è 5, le soglie di probabilità saranno [0,0, 0,25, 0,5, 0,75, 1,0].
Le soglie percentili vengono spaziate in base alla distribuzione delle probabilità stimate. Ogni soglia corrisponde al percentile dei dati a una soglia di probabilità. Ad esempio, se NUM_POINTS è 5, la prima soglia sarà al 0° percentile, la seconda al 25° percentile, la terza al 50° e così via.
Le tabelle di probabilità e le tabelle percentili sono entrambi elenchi 3D in cui la prima dimensione rappresenta l'etichetta di classe, la seconda dimensione rappresenta il campione a una soglia (scale con NUM_POINTS) e la terza dimensione ha sempre 4 valori: TP, FP, TN, FN e sempre in tale ordine.
I valori di confusione (TP, FP, TN, FN) vengono calcolati con la strategia uno e rest. Per altri dettagli, vedere il collegamento seguente: https://en.wikipedia.org/wiki/Multiclass_classification
N = # di campioni nel set di dati di convalida (200 in esempio) M = # thresholds = # samples ricavati dallo spazio probabilità (5 in esempio) C = # classi nel set di dati completo (3 in esempio)
Alcune invarianti della tabella di accuratezza:
- TP + FP + TN + FN = N per tutte le soglie per tutte le classi
- TP + FN è uguale a tutte le soglie per qualsiasi classe
- TN + FP è uguale a tutte le soglie per qualsiasi classe
- Le tabelle di probabilità e le tabelle percentili hanno forma [C, M, 4]
Nota: M può essere qualsiasi valore e controlla la risoluzione dei grafici Questo è indipendente dal set di dati, viene definito durante il calcolo delle metriche e impedisce lo spazio di archiviazione, il tempo di calcolo e la risoluzione.
Le etichette di classe devono essere stringhe, i valori di confusione devono essere interi e le soglie devono essere float.
log_accuracy_table(name, value, description='')
Parametri
| Nome | Descrizione |
|---|---|
|
name
Necessario
|
Nome della tabella di accuratezza. |
|
value
Necessario
|
JSON contenente le proprietà nome, versione e dati. |
|
description
Necessario
|
Descrizione della metrica facoltativa. |
Commenti
Esempio di un valore JSON valido:
{
"schema_type": "accuracy_table",
"schema_version": "1.0.1",
"data": {
"probability_tables": [
[
[82, 118, 0, 0],
[75, 31, 87, 7],
[66, 9, 109, 16],
[46, 2, 116, 36],
[0, 0, 118, 82]
],
[
[60, 140, 0, 0],
[56, 20, 120, 4],
[47, 4, 136, 13],
[28, 0, 140, 32],
[0, 0, 140, 60]
],
[
[58, 142, 0, 0],
[53, 29, 113, 5],
[40, 10, 132, 18],
[24, 1, 141, 34],
[0, 0, 142, 58]
]
],
"percentile_tables": [
[
[82, 118, 0, 0],
[82, 67, 51, 0],
[75, 26, 92, 7],
[48, 3, 115, 34],
[3, 0, 118, 79]
],
[
[60, 140, 0, 0],
[60, 89, 51, 0],
[60, 41, 99, 0],
[46, 5, 135, 14],
[3, 0, 140, 57]
],
[
[58, 142, 0, 0],
[56, 93, 49, 2],
[54, 47, 95, 4],
[41, 10, 132, 17],
[3, 0, 142, 55]
]
],
"probability_thresholds": [0.0, 0.25, 0.5, 0.75, 1.0],
"percentile_thresholds": [0.0, 0.01, 0.24, 0.98, 1.0],
"class_labels": ["0", "1", "2"]
}
}
log_confusion_matrix
Registrare una matrice di confusione nell'archivio artefatti.
In questo modo viene registrato un wrapper intorno alla matrice di confusione sklearn. I dati delle metriche contengono le etichette di classe e un elenco 2D per la matrice stessa. Per altre informazioni sul calcolo della metrica, vedere il collegamento seguente: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html
log_confusion_matrix(name, value, description='')
Parametri
| Nome | Descrizione |
|---|---|
|
name
Necessario
|
Nome della matrice di confusione. |
|
value
Necessario
|
JSON contenente le proprietà nome, versione e dati. |
|
description
Necessario
|
Descrizione della metrica facoltativa. |
Commenti
Esempio di un valore JSON valido:
{
"schema_type": "confusion_matrix",
"schema_version": "1.0.0",
"data": {
"class_labels": ["0", "1", "2", "3"],
"matrix": [
[3, 0, 1, 0],
[0, 1, 0, 1],
[0, 0, 1, 0],
[0, 0, 0, 1]
]
}
}
log_image
Registrare una metrica dell'immagine nel record di esecuzione.
log_image(name, path=None, plot=None, description='')
Parametri
| Nome | Descrizione |
|---|---|
|
name
Necessario
|
Nome della metrica. |
|
path
Necessario
|
Percorso o flusso dell'immagine. |
|
plot
Necessario
|
<xref:matplotlib.pyplot>
Tracciato da registrare come immagine. |
|
description
Necessario
|
Descrizione della metrica facoltativa. |
Commenti
Usare questo metodo per registrare un file di immagine o un tracciato matplotlib nell'esecuzione. Queste immagini saranno visibili e confrontabili nel record di esecuzione.
log_list
Registrare un elenco di valori delle metriche per l'esecuzione con il nome specificato.
log_list(name, value, description='')
Parametri
| Nome | Descrizione |
|---|---|
|
name
Necessario
|
Nome della metrica. |
|
value
Necessario
|
Valori della metrica. |
|
description
Necessario
|
Descrizione della metrica facoltativa. |
log_predictions
Registrare le stime nell'archivio artefatti.
In questo modo viene registrato un punteggio di metrica che può essere usato per confrontare le distribuzioni di valori di destinazione reali con la distribuzione dei valori stimati per un'attività di regressione.
Le stime sono binned e le deviazioni standard vengono calcolate per le barre di errore in un grafico a linee.
log_predictions(name, value, description='')
Parametri
| Nome | Descrizione |
|---|---|
|
name
Necessario
|
Nome delle stime. |
|
value
Necessario
|
JSON contenente le proprietà nome, versione e dati. |
|
description
Necessario
|
Descrizione della metrica facoltativa. |
Commenti
Esempio di un valore JSON valido:
{
"schema_type": "predictions",
"schema_version": "1.0.0",
"data": {
"bin_averages": [0.25, 0.75],
"bin_errors": [0.013, 0.042],
"bin_counts": [56, 34],
"bin_edges": [0.0, 0.5, 1.0]
}
}
log_residuals
Registrare i residui nell'archivio artefatti.
In questo modo vengono visualizzati i dati necessari per visualizzare un istogramma di residui per un'attività di regressione. I residui sono stimati- effettivi.
Deve essere presente un arco maggiore del numero di conteggi. Per esempi di utilizzo di conteggi e archi per rappresentare un istogramma, vedere la documentazione dell'istogramma numpy. https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html
log_residuals(name, value, description='')
Parametri
| Nome | Descrizione |
|---|---|
|
name
Necessario
|
Nome dei residui. |
|
value
Necessario
|
JSON contenente le proprietà nome, versione e dati. |
|
description
Necessario
|
Descrizione della metrica facoltativa. |
Commenti
Esempio di un valore JSON valido:
{
"schema_type": "residuals",
"schema_version": "1.0.0",
"data": {
"bin_edges": [50, 100, 200, 300, 350],
"bin_counts": [0.88, 20, 30, 50.99]
}
}
log_row
Registrare una metrica di riga per l'esecuzione con il nome specificato.
log_row(name, description=None, **kwargs)
Parametri
| Nome | Descrizione |
|---|---|
|
name
Necessario
|
Nome della metrica. |
|
description
|
Descrizione della metrica facoltativa. Valore predefinito: None
|
|
kwargs
Necessario
|
Dizionario di parametri aggiuntivi. In questo caso, le colonne della metrica. |
Commenti
L'uso di log_row crea una metrica di tabella con colonne come descritto in kwargs. Ogni parametro denominato genera una colonna con il valore specificato.
log_row può essere chiamato una volta per registrare una tupla arbitraria o più volte in un ciclo per generare una tabella completa.
citrus = ['orange', 'lemon', 'lime']
sizes = [ 10, 7, 3]
for index in range(len(citrus)):
run.log_row("citrus", fruit = citrus[index], size=sizes[index])
log_table
Registrare una metrica della tabella nell'esecuzione con il nome specificato.
log_table(name, value, description='')
Parametri
| Nome | Descrizione |
|---|---|
|
name
Necessario
|
Nome della metrica. |
|
value
Necessario
|
Valore della tabella della metrica, un dizionario in cui le chiavi sono colonne da inserire nel servizio. |
|
description
Necessario
|
Descrizione della metrica facoltativa. |
register_model
Registrare un modello per l'operazionalizzazione.
register_model(model_name, model_path=None, tags=None, properties=None, model_framework=None, model_framework_version=None, description=None, datasets=None, sample_input_dataset=None, sample_output_dataset=None, resource_configuration=None, **kwargs)
Parametri
| Nome | Descrizione |
|---|---|
|
model_name
Necessario
|
Nome del modello. |
|
model_path
|
Percorso cloud relativo al modello, ad esempio "outputs/modelname".
Se non specificato (Nessuno), Valore predefinito: None
|
|
tags
|
Dizionario di tag chiave valore da assegnare al modello. Valore predefinito: None
|
|
properties
|
Dizionario di proprietà chiave-valore da assegnare al modello. Queste proprietà non possono essere modificate dopo la creazione del modello, ma è possibile aggiungere nuove coppie chiave-valore. Valore predefinito: None
|
|
model_framework
|
Framework del modello da registrare. Framework attualmente supportati: TensorFlow, ScikitLearn, Onnx, Custom, Multi Valore predefinito: None
|
|
model_framework_version
|
Versione del framework del modello registrato. Valore predefinito: None
|
|
description
|
Descrizione facoltativa del modello. Valore predefinito: None
|
|
datasets
|
Elenco di tuple in cui il primo elemento descrive la relazione del modello di set di dati e il secondo elemento è il set di dati. Valore predefinito: None
|
|
sample_input_dataset
|
Opzionale. Set di dati di input di esempio per il modello registrato Valore predefinito: None
|
|
sample_output_dataset
|
Opzionale. Set di dati di output di esempio per il modello registrato Valore predefinito: None
|
|
resource_configuration
|
Opzionale. Configurazione delle risorse per eseguire il modello registrato Valore predefinito: None
|
|
kwargs
Necessario
|
Parametri facoltativi. |
Restituisce
| Tipo | Descrizione |
|---|---|
|
Modello registrato. |
Commenti
model = best_run.register_model(model_name = 'best_model', model_path = 'outputs/model.pkl')
remove_tags
Eliminare l'elenco di tag modificabili in questa esecuzione.
remove_tags(tags)
Parametri
| Nome | Descrizione |
|---|---|
|
tags
Necessario
|
Elenco di tag da rimuovere. |
Restituisce
| Tipo | Descrizione |
|---|---|
|
Tag archiviati nell'oggetto run |
restore_snapshot
Ripristinare uno snapshot come file ZIP. Restituisce il percorso del file ZIP.
restore_snapshot(snapshot_id=None, path=None)
Parametri
| Nome | Descrizione |
|---|---|
|
snapshot_id
|
ID snapshot da ripristinare. Se non specificato, viene utilizzata la versione più recente. Valore predefinito: None
|
|
path
|
Percorso in cui viene salvato il file ZIP scaricato. Valore predefinito: None
|
Restituisce
| Tipo | Descrizione |
|---|---|
|
Percorso. |
set_tags
Aggiungere o modificare un set di tag nell'esecuzione. I tag non passati nel dizionario vengono lasciati invariati.
È anche possibile aggiungere tag stringa semplici. Quando questi tag vengono visualizzati nel dizionario tag come chiavi, hanno il valore Nessuno. Per altre informazioni, vedere Contrassegna e trova esecuzioni.
set_tags(tags)
Parametri
| Nome | Descrizione |
|---|---|
|
tags
Necessario
|
Tag archiviati nell'oggetto run. |
start
Contrassegnare l'esecuzione come avviata.
Questo viene in genere usato in scenari avanzati quando l'esecuzione è stata creata da un altro attore.
start()
submit_child
Inviare un esperimento e restituire l'esecuzione figlio attiva.
submit_child(config, tags=None, **kwargs)
Parametri
| Nome | Descrizione |
|---|---|
|
config
Necessario
|
Configurazione da inviare. |
|
tags
|
Tag da aggiungere all'esecuzione inviata, ad esempio {"tag": "value"}. Valore predefinito: None
|
|
kwargs
Necessario
|
Parametri aggiuntivi usati nella funzione submit per le configurazioni. |
Restituisce
| Tipo | Descrizione |
|---|---|
|
Oggetto run. |
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.
Di seguito è riportato un esempio di come inviare un esperimento figlio dal computer locale usando ScriptRunConfig :
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 = parent_run.submit_child(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 submit.
tag
Contrassegna l'esecuzione con una chiave stringa e un valore stringa facoltativo.
tag(key, value=None)
Parametri
| Nome | Descrizione |
|---|---|
|
key
Necessario
|
Tasto tag |
|
value
|
Valore facoltativo per il tag Valore predefinito: None
|
Commenti
I tag e le proprietà di un'esecuzione sono entrambi dizionari di stringa-> stringa. La differenza tra di esse è mutabilità: i tag possono essere impostati, aggiornati ed eliminati mentre le proprietà possono essere aggiunte solo. Ciò rende le proprietà più appropriate per i trigger di comportamento correlati al sistema/flusso di lavoro, mentre i tag sono in genere rivolti all'utente e significativi per i consumer dell'esperimento.
run = experiment.start_logging()
run.tag('DeploymentCandidate')
run.tag('modifiedBy', 'Master CI')
run.tag('modifiedBy', 'release pipeline') # Careful, tags are mutable
run.add_properties({'BuildId': os.environ.get('VSTS_BUILD_ID')}) # Properties are not
tags = run.get_tags()
# tags = { 'DeploymentCandidate': None, 'modifiedBy': 'release pipeline' }
take_snapshot
Salvare uno snapshot del file o della cartella di input.
take_snapshot(file_or_folder_path)
Parametri
| Nome | Descrizione |
|---|---|
|
file_or_folder_path
Necessario
|
File o cartella contenente il codice sorgente dell'esecuzione. |
Restituisce
| Tipo | Descrizione |
|---|---|
|
Restituisce l'ID dello snapshot. |
Commenti
Gli snapshot devono essere il codice sorgente usato per eseguire l'esecuzione dell'esperimento. Queste vengono archiviate con l'esecuzione in modo che la versione di valutazione di esecuzione possa essere replicata in futuro.
Annotazioni
Gli snapshot vengono acquisiti automaticamente quando submit viene chiamato . In genere, questo metodo take_snapshot è necessario solo per le esecuzioni interattive (notebook).
upload_file
Caricare un file nel record di esecuzione.
upload_file(name, path_or_stream, datastore_name=None)
Parametri
| Nome | Descrizione |
|---|---|
|
name
Necessario
|
Nome del file da caricare. |
|
path_or_stream
Necessario
|
Percorso locale relativo o flusso al file da caricare. |
|
datastore_name
Necessario
|
Nome archivio dati facoltativo |
Restituisce
| Tipo | Descrizione |
|---|---|
Commenti
run = experiment.start_logging()
run.upload_file(name='important_file', path_or_stream="path/on/disk/file.txt")
Annotazioni
Esegue automaticamente il file di acquisizione nella directory di output specificata, che per impostazione predefinita è "./outputs" per la maggior parte dei tipi di esecuzione. Usare upload_file solo quando è necessario caricare altri file o non è specificata una directory di output.
upload_files
Caricare i file nel record di esecuzione.
upload_files(names, paths, return_artifacts=False, timeout_seconds=None, datastore_name=None)
Parametri
| Nome | Descrizione |
|---|---|
|
names
Necessario
|
Nomi dei file da caricare. Se impostato, è necessario impostare anche i percorsi. |
|
paths
Necessario
|
Percorsi locali relativi ai file da caricare. Se impostato, i nomi sono obbligatori. |
|
return_artifacts
Necessario
|
Indica che per ogni file caricato deve essere restituito un oggetto artefatto. |
|
timeout_seconds
Necessario
|
Timeout per il caricamento dei file. |
|
datastore_name
Necessario
|
Nome archivio dati facoltativo |
Commenti
upload_files ha lo stesso effetto di upload_file su file separati, tuttavia esistono vantaggi per le prestazioni e l'utilizzo delle risorse quando si usa upload_files.
import os
run = experiment.start_logging()
file_name_1 = 'important_file_1'
file_name_2 = 'important_file_2'
run.upload_files(names=[file_name_1, file_name_2],
paths=['path/on/disk/file_1.txt', 'other/path/on/disk/file_2.txt'])
run.download_file(file_name_1, 'file_1.txt')
os.mkdir("path") # The path must exist
run.download_file(file_name_2, 'path/file_2.txt')
Annotazioni
Esegue automaticamente l'acquisizione dei file nella directory di output specificata, che per impostazione predefinita è "./outputs" per la maggior parte dei tipi di esecuzione. Usare upload_files solo quando è necessario caricare altri file o non è specificata una directory di output.
upload_folder
Caricare la cartella specificata nel nome del prefisso specificato.
upload_folder(name, path, datastore_name=None)
Parametri
| Nome | Descrizione |
|---|---|
|
name
Necessario
|
Nome della cartella dei file da caricare. |
|
folder
Necessario
|
Percorso locale relativo della cartella da caricare. |
|
datastore_name
Necessario
|
Nome archivio dati facoltativo |
Commenti
run = experiment.start_logging()
run.upload_folder(name='important_files', path='path/on/disk')
run.download_file('important_files/existing_file.txt', 'local_file.txt')
Annotazioni
Esegue automaticamente l'acquisizione dei file nella directory di output specificata, che per impostazione predefinita è "./outputs" per la maggior parte dei tipi di esecuzione. Usare upload_folder solo quando è necessario caricare altri file o non è specificata una directory di output.
wait_for_completion
Attendere il completamento dell'esecuzione. Restituisce l'oggetto stato dopo l'attesa.
wait_for_completion(show_output=False, wait_post_processing=False, raise_on_error=True)
Parametri
| Nome | Descrizione |
|---|---|
|
show_output
|
Indica se visualizzare l'output dell'esecuzione in sys.stdout. Valore predefinito: False
|
|
wait_post_processing
|
Indica se attendere il completamento della post-elaborazione al termine dell'esecuzione. Valore predefinito: False
|
|
raise_on_error
|
Indica se viene generato un errore quando l'esecuzione è in uno stato non riuscito. Valore predefinito: True
|
Restituisce
| Tipo | Descrizione |
|---|---|
|
Oggetto status. |
Attributi
description
Restituisce la descrizione dell'esecuzione.
La descrizione facoltativa dell'esecuzione è una stringa specificata dall'utente utile per descrivere un'esecuzione.
Restituisce
| Tipo | Descrizione |
|---|---|
|
Descrizione dell'esecuzione. |
display_name
Restituisce il nome visualizzato dell'esecuzione.
Il nome visualizzato facoltativo dell'esecuzione è una stringa specificata dall'utente utile per l'identificazione successiva dell'esecuzione.
Restituisce
| Tipo | Descrizione |
|---|---|
|
Nome visualizzato dell'esecuzione. |
experiment
Ottenere l'esperimento contenente l'esecuzione.
Restituisce
| Tipo | Descrizione |
|---|---|
|
Recupera l'esperimento corrispondente all'esecuzione. |
id
Ottenere l'ID esecuzione.
L'ID dell'esecuzione è un identificatore univoco nell'esperimento contenitore.
Restituisce
| Tipo | Descrizione |
|---|---|
|
ID esecuzione. |
name
DEPRECATO. Usare display_name.
Il nome facoltativo dell'esecuzione è una stringa specificata dall'utente utile per l'identificazione successiva dell'esecuzione.
Restituisce
| Tipo | Descrizione |
|---|---|
|
ID esecuzione. |
number
Ottiene il numero di esecuzione.
Numero che aumenta in modo monotonico che rappresenta l'ordine delle esecuzioni all'interno di un esperimento.
Restituisce
| Tipo | Descrizione |
|---|---|
|
Numero di esecuzione. |
parent
Recuperare l'esecuzione padre per questa esecuzione dal servizio.
Le esecuzioni possono avere un elemento padre facoltativo, con conseguente potenziale gerarchia ad albero di esecuzioni. Per registrare le metriche in un'esecuzione padre, usare il log metodo dell'oggetto padre, run.parent.log()ad esempio .
Restituisce
| Tipo | Descrizione |
|---|---|
|
Esecuzione padre o Nessuno se non è impostato. |
properties
Restituisce le proprietà non modificabili di questa esecuzione.
Restituisce
| Tipo | Descrizione |
|---|---|
|
Proprietà memorizzate nella cache locale dell'esecuzione. |
Commenti
Le proprietà includono informazioni generate dal sistema non modificabili, ad esempio durata, data di esecuzione, utente e così via.
status
Restituisce lo stato dell'oggetto di esecuzione.
tags
Restituisce il set di tag modificabili in questa esecuzione.
Restituisce
| Tipo | Descrizione |
|---|---|
|
Tag archiviati nell'oggetto run. |
type
Ottiene il tipo di esecuzione.
Indica come è stata creata o configurata l'esecuzione.
Restituisce
| Tipo | Descrizione |
|---|---|
|
Tipo di esecuzione. |