Run Classe
Definisce la classe di 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 archiviare l'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 le esecuzioni autoML. Un oggetto Run viene creato anche quando si submit o start_logging con la Experiment classe .
Per iniziare a usare esperimenti e esecuzioni, vedere
Inizializzare l'oggetto Run.
- Ereditarietà
-
azureml._run_impl.run_base._RunBaseRun
Costruttore
Run(experiment, run_id, outputs=None, **kwargs)
Parametri
Nome | Descrizione |
---|---|
experiment
Necessario
|
Oggetto contenente l'esperimento. |
run_id
Necessario
|
ID dell'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 dell'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
Snapshot efficiente di un file o di una directory per la riproducibilità
Questa classe funziona con in Experiment questi scenari:
Creazione di un'esecuzione tramite l'esecuzione di codice tramite 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
Le metriche seguenti possono essere aggiunte a un'esecuzione durante il training di un esperimento.
Scalare
Registrare un valore numerico o stringa nell'esecuzione con il nome specificato usando log. La registrazione di una metrica per un'esecuzione fa sì che tale metrica venga archiviata nel record esecuzione nell'esperimento. È possibile registrare la stessa metrica più volte all'interno di un'esecuzione. Il risultato verrà 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])
Riga
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_row
può 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 nell'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 per il record 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 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 per la 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 and find runs .For more information about working with tags and properties, see Tag and find runs. |
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 cancel_uri impostato, 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. Viene usato in genere 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 determinato prefisso di archiviazione (nome cartella) o dall'intero contenitore se il prefisso non è specificato. |
fail |
Contrassegnare l'esecuzione come non riuscita. Impostare facoltativamente la proprietà Error dell'esecuzione con un messaggio o un'eccezione passata a |
flush |
Attendere l'elaborazione della coda delle attività. |
get |
Ottenere l'esecuzione per questa area di lavoro con il relativo ID di esecuzione. |
get_all_logs |
Scaricare tutti i log per l'esecuzione in una directory. |
get_children |
Ottenere tutti gli elementi figlio per l'esecuzione corrente selezionata dai filtri specificati. |
get_context |
Restituire il contesto del servizio corrente. Usare questo metodo per recuperare il contesto del servizio corrente per la registrazione delle metriche e il caricamento di file. Se |
get_detailed_status |
Recuperare lo stato più recente dell'esecuzione. Se lo stato dell'esecuzione è "Accodato", 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 |
Restituire lo stato di 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 segreto dal contesto di un'esecuzione. Ottenere il valore segreto per il nome specificato. Il 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 |
Ottenere i valori 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. Usare 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 dai filtri facoltativi. |
list_by_compute |
Ottenere un elenco di esecuzioni in un calcolo specificato dai 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 elementi. La metrica della tabella di accuratezza è una metrica non scalare che può essere usata per produrre più tipi di grafici a linee che variano continuamente sullo spazio delle probabilità stimate. Esempi di questi grafici sono ROC, precisione e curve di sollevamento. 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 di soglie: "probabilità" e "percentile". Sono diversi dal modo in cui campionino dallo spazio delle probabilità stimate. Le soglie di probabilità sono soglie a 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 percentile 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 sarebbe al 0° percentile, la seconda al 25° percentile, la terza al 50° e così via. Le tabelle di probabilità e le tabelle percentile sono entrambi elenchi 3D in cui la prima dimensione rappresenta l'etichetta di classe, la seconda dimensione rappresenta l'esempio 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 altre informazioni, vedere il collegamento seguente: https://en.wikipedia.org/wiki/Multiclass_classification N = # di esempi nel set di dati di convalida (200 in esempio) M = # soglie = # campioni presi dallo spazio di probabilità (5 in esempio) C = classi # nel set di dati completo (3 in esempio) Alcuni 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 disattiva 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. Questo registra 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 su come viene calcolata la metrica, vedere il collegamento seguente: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html |
log_image |
Registrare una metrica dell'immagine per il record 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. Questo registra un punteggio della 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 vengono binate e le deviazioni standard vengono calcolate per le barre di errore in un grafico a linee. |
log_residuals |
Registra i residui nell'archivio artefatti. Registra i dati necessari per visualizzare un istogramma di residui per un'attività di regressione. I residui sono stimati, effettivi. Deve essere presente un bordo 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 nell'esecuzione con il nome specificato. |
log_table |
Registrare una metrica della tabella per l'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 Tag and find runs .For more information, see Tag and find runs. |
start |
Contrassegnare l'esecuzione come avviata. Questa operazione viene in genere usata in scenari avanzati quando l'esecuzione è stata creata da un altro attore. |
submit_child |
Inviare un esperimento e restituire l'esecuzione figlio attiva. |
tag |
Assegnare all'esecuzione una chiave stringa e un valore di stringa facoltativo. |
take_snapshot |
Salvare uno snapshot del file o della cartella di input. |
upload_file |
Caricare un file per il record 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 status dopo l'attesa. |
add_properties
Aggiungere proprietà non modificabili all'esecuzione.
I tag e le proprietà (entrambi dict[str, str]) differiscono per la 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 and find runs .For more information about working with tags and properties, see Tag and find runs.
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):> esecuzione da richiamare durante l'esecuzione dell'elenco. |
cancel
Contrassegnare l'esecuzione come annullata.
Se è presente un processo associato a un campo cancel_uri impostato, 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
|
La 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 le "parti" identificabili di un'esecuzione interessanti da separare o per acquisire metriche indipendenti in un'intersezione 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. Viene usato in genere 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 a Tags[tag_key] per l'elenco di esecuzioni create. |
tag_values
|
Valore predefinito: None
|
Restituisce
Tipo | Descrizione |
---|---|
Elenco di esecuzioni figlio. |
Commenti
count
È necessario specificare i tag_key
parametri OR parametri ANDtag_values
.
download_file
Scaricare un file associato dall'archiviazione.
download_file(name, output_file_path=None, _validate_checksum=False)
Parametri
Nome | Descrizione |
---|---|
name
Necessario
|
Nome dell'artefatto da scaricare. |
output_file_path
Necessario
|
Percorso locale in cui archiviare l'artefatto. |
download_files
Scaricare i file da un determinato prefisso di archiviazione (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 di file. |
fail
Contrassegnare l'esecuzione come non riuscita.
Impostare facoltativamente 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 delle 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 di esecuzione.
static get(workspace, run_id)
Parametri
Nome | Descrizione |
---|---|
workspace
Necessario
|
Area di lavoro contenente. |
run_id
Necessario
|
ID di 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 per archiviare i log. Se non specificato, viene creata una directory denominata come ID di esecuzione nella directory del progetto. Valore predefinito: None
|
Restituisce
Tipo | Descrizione |
---|---|
Elenco dei nomi dei log scaricati. |
get_children
Ottenere 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 ripetersi attraverso 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 le esecuzioni corrispondenti a "property" o {"property": "value"}. Valore predefinito: None
|
type
|
Se specificato, restituisce le esecuzioni corrispondenti a questo tipo. Valore predefinito: None
|
status
|
Se specificato, restituisce esecuzioni con stato specificato "stato". 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 oggetti Run. |
get_context
Restituire il contesto del servizio corrente.
Usare questo metodo per recuperare il contesto del servizio corrente per la registrazione delle metriche e il caricamento di 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 di classe. |
allow_offline
|
Consentire al contesto del servizio di tornare in 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 contenute 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 è "Accodato", mostrerà i dettagli.
get_detailed_status()
Restituisce
Tipo | Descrizione |
---|---|
Lo stato e i dettagli più recenti |
Commenti
stato: 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 |
---|---|
Restituisce i dettagli dell'esecuzione |
Commenti
Il dizionario restituito contiene le coppie chiave-valore seguenti:
runId: ID dell'esecuzione.
target
stato: stato corrente dell'esecuzione. Stesso valore restituito da get_status().
startTimeUtc: ora UTC di quando questa esecuzione è stata avviata, 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 altre proprietà 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
inviatoBy
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
Restituire lo stato di esecuzione, incluso il contenuto del file di log.
get_details_with_logs()
Restituisce
Tipo | Descrizione |
---|---|
Restituisce lo stato dell'esecuzione con 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
Elencare i file archiviati in associazione all'esecuzione.
get_file_names()
Restituisce
Tipo | Descrizione |
---|---|
Elenco di percorsi per gli artefatti esistenti |
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 ripetersi attraverso 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 Tag e trovare 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 segreto dal contesto di un'esecuzione.
Ottenere il valore segreto per il nome specificato. Il 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_secret(name)
Parametri
Nome | Descrizione |
---|---|
name
Necessario
|
Nome segreto per il quale restituire un segreto. |
Restituisce
Tipo | Descrizione |
---|---|
Valore segreto. |
get_secrets
Ottenere i valori 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 valori 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: questo è un oggetto Run lato client temporaneo prima dell'invio 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 è in stato accodato
in attesa che tutti i nodi richiesti siano pronti.
Esecuzione: il 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.
Impossibile: l'esecuzione non è riuscita. In genere la proprietà Error in un'esecuzione fornisce informazioni dettagliate sul motivo.
Annullata: segue una richiesta di annullamento e indica che l'esecuzione è stata annullata correttamente.
NotResponding: per le esecuzioni abilitate per Heartbeat, 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. Usare 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 |
---|---|
I tag archiviati nell'oggetto run. |
list
Ottenere un elenco di esecuzioni in un esperimento specificato dai 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 le esecuzioni corrispondenti a "property" o {"property": "value"}. Valore predefinito: None
|
status
|
Se specificato, restituisce esecuzioni con stato specificato "stato". 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é 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 calcolo specificato dai 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 le esecuzioni corrispondenti a "property" o {"property": "value"}. Valore predefinito: None
|
status
|
Se specificato, restituisce esecuzioni con stato specificato "stato". 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 pubblicare nel servizio. |
description
Necessario
|
Descrizione della metrica facoltativa. |
step
|
Asse facoltativo per specificare l'ordine di valore all'interno di una metrica. Valore predefinito: None
|
Commenti
La registrazione di una metrica per un'esecuzione fa sì che tale metrica venga archiviata nel record esecuzione nell'esperimento. È possibile registrare la stessa metrica più volte all'interno di un'esecuzione. Il risultato verrà 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 elementi.
La metrica della tabella di accuratezza è una metrica non scalare che può essere usata per produrre più tipi di grafici a linee che variano continuamente sullo spazio delle probabilità stimate. Esempi di questi grafici sono ROC, precisione e curve di sollevamento.
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 di soglie: "probabilità" e "percentile". Sono diversi dal modo in cui campionino dallo spazio delle probabilità stimate.
Le soglie di probabilità sono soglie a 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 percentile 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 sarebbe al 0° percentile, la seconda al 25° percentile, la terza al 50° e così via.
Le tabelle di probabilità e le tabelle percentile sono entrambi elenchi 3D in cui la prima dimensione rappresenta l'etichetta di classe, la seconda dimensione rappresenta l'esempio 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 altre informazioni, vedere il collegamento seguente: https://en.wikipedia.org/wiki/Multiclass_classification
N = # di esempi nel set di dati di convalida (200 in esempio) M = # soglie = # campioni presi dallo spazio di probabilità (5 in esempio) C = classi # nel set di dati completo (3 in esempio)
Alcuni 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 percentile 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 disattiva 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 nome, versione e proprietà dei dati. |
description
Necessario
|
Descrizione della metrica facoltativa. |
Commenti
Esempio di 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.
Questo registra 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 su come viene calcolata la 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 nome, versione e proprietà dei dati. |
description
Necessario
|
Descrizione della metrica facoltativa. |
Commenti
Esempio di 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 per il record 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>
Grafico da registrare come immagine. |
description
Necessario
|
Descrizione della metrica facoltativa. |
Commenti
Usare questo metodo per registrare un file di immagine o un tracciato matplotlib per l'esecuzione. Queste immagini saranno visibili e confrontabili nel record 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.
Questo registra un punteggio della 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 vengono binate 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 nome, versione e proprietà dei dati. |
description
Necessario
|
Descrizione della metrica facoltativa. |
Commenti
Esempio di 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
Registra i residui nell'archivio artefatti.
Registra i dati necessari per visualizzare un istogramma di residui per un'attività di regressione. I residui sono stimati, effettivi.
Deve essere presente un bordo 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 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 nell'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 per l'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
|
Facoltativa. Set di dati di input di esempio per il modello registrato Valore predefinito: None
|
sample_output_dataset
|
Facoltativa. Set di dati di output di esempio per il modello registrato Valore predefinito: None
|
resource_configuration
|
Facoltativa. 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 Tag and find runs .For more information, see Tag and find runs.
set_tags(tags)
Parametri
Nome | Descrizione |
---|---|
tags
Necessario
|
Tag archiviati nell'oggetto run. |
start
Contrassegnare l'esecuzione come avviata.
Questa operazione viene in genere usata 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 di invio 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 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 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
Assegnare all'esecuzione una chiave stringa e un valore di 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à in 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. In questo modo le proprietà sono più appropriate per i trigger di comportamento correlati al sistema/flusso di lavoro, mentre i tag sono in genere destinati 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 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 in esecuzione possa essere replicata in futuro.
Nota
Gli snapshot vengono creati automaticamente quando submit viene chiamato . In genere, questo metodo take_snapshot è necessario solo per le esecuzioni interattive (notebook).
upload_file
Caricare un file per il record 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")
Nota
Consente di eseguire automaticamente il file di acquisizione nella directory di output specificata, che per impostazione predefinita corrisponde a "./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')
Nota
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')
Nota
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 status 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 di errore. 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
Ottiene 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
Ottenere il numero di esecuzione.
Numero in aumento 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 oppure Nessuna se non è impostata. |
properties
Restituisce le proprietà non modificabili di questa esecuzione.
Restituisce
Tipo | Descrizione |
---|---|
Proprietà memorizzate nella cache locale dell'esecuzione. |
Commenti
Le proprietà includono informazioni non modificabili generate dal sistema, 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. |