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._RunBase
Run

Costruttore

Run(experiment, run_id, outputs=None, **kwargs)

Parametri

experiment
Experiment
Necessario

Oggetto contenente l'esperimento.

run_id
str
Necessario

ID dell'esecuzione.

outputs
str
valore predefinito: None

Output da tenere traccia.

_run_dto
<xref:azureml._restclient.models.run_dto.RunDto>
Necessario

Solo per uso interno.

kwargs
dict
Necessario

Dizionario di parametri di configurazione aggiuntivi.

experiment
Experiment
Necessario

Oggetto contenente l'esperimento.

run_id
str
Necessario

ID dell'esecuzione.

outputs
str
Necessario

Output da tenere traccia.

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

  • ScriptRunConfig

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

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 registrare le metriche e caricare i file. Se allow_offline è True (impostazione predefinita), le azioni sull'oggetto Run verranno stampate in modo standard.

get_detailed_status

Recuperare lo stato più recente dell'esecuzione. Se lo stato dell'esecuzione è "In coda", verranno visualizzati 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 di esecuzione, incluso il contenuto del file di log.

get_environment

Ottenere la definizione di 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 recursive è True (False per impostazione predefinita), recuperare le metriche per le esecuzioni nel sottoalbero dell'esecuzione specificata.

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

Ottiene 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. 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 ambiente di 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 artefatti.

La metrica della tabella di accuratezza è una metrica multi-uso e non scalare 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 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 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 one vs. 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 = # soglie = # campioni ricavati dallo spazio di 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_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 altri dettagli 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 per il record esecuzione.

log_list

Registrare un elenco di valori delle metriche nell'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

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

runtype
str
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
<xref:function>
Necessario

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

name
str
valore predefinito: None

Nome facoltativo per l'esecuzione figlio, in genere specificato per una "parte".

run_id
str
valore predefinito: None

ID di esecuzione facoltativo per l'elemento figlio; in caso contrario, viene generato automaticamente. In genere questo parametro non è impostato.

outputs
str
valore predefinito: None

La directory di output facoltativa da tenere traccia per l'elemento figlio.

Restituisce

Esecuzione figlio.

Tipo restituito

Run

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

Elenco di file eliminati.

Tipo restituito

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

_set_status
bool
valore predefinito: True

Indica se inviare l'evento di stato per il rilevamento.

create_children

Creare una o più esecuzioni figlio.

create_children(count=None, tag_key=None, tag_values=None)

Parametri

count
int
valore predefinito: None

Numero facoltativo di elementi figlio da creare.

tag_key
str
valore predefinito: None

Chiave facoltativa per popolare la voce Tag in tutti gli elementi figlio creati.

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

Elenco di esecuzioni figlio.

Tipo restituito

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

name
str
Necessario

Nome dell'artefatto da scaricare.

output_file_path
str
Necessario

Percorso locale in cui archiviare l'artefatto.

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

prefix
str
Necessario

Prefisso del percorso file all'interno del contenitore da cui scaricare tutti gli artefatti.

output_directory
str
Necessario

Directory facoltativa usata da tutti i percorsi degli artefatti come prefisso.

output_paths
[str]
Necessario

Percorsi file facoltativi in cui archiviare gli artefatti scaricati. Deve essere univoco e deve corrispondere alla lunghezza dei percorsi.

batch_size
int
Necessario

Numero di file da scaricare per batch. Il valore predefinito è 100 file.

append_prefix
bool
Necessario

Flag facoltativo che indica 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
int
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

error_details
str oppure BaseException
valore predefinito: None

Dettagli facoltativi dell'errore.

error_code
str
valore predefinito: None

Codice di errore facoltativo dell'errore per la classificazione degli errori.

_set_status
bool
valore predefinito: True

Indica se inviare l'evento di stato per il rilevamento.

flush

Attendere l'elaborazione della coda di attività.

flush(timeout_seconds=300)

Parametri

timeout_seconds
int
valore predefinito: 300

Tempo di attesa (in secondi) per l'elaborazione della coda di attività.

get

Ottenere l'esecuzione per questa area di lavoro con il relativo ID esecuzione.

static get(workspace, run_id)

Parametri

workspace
Workspace
Necessario

Oggetto contenente l'area di lavoro.

run_id
string
Necessario

ID esecuzione.

Restituisce

Esecuzione inviata.

Tipo restituito

Run

get_all_logs

Scaricare tutti i log per l'esecuzione in una directory.

get_all_logs(destination=None)

Parametri

destination
str
valore predefinito: None

Percorso di destinazione in cui archiviare i log. Se non specificato, viene creata una directory denominata come ID di esecuzione nella directory del progetto.

Restituisce

Elenco di nomi dei log scaricati.

Tipo restituito

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

recursive
bool
valore predefinito: False

Indica se ripetersi attraverso tutti i discendenti.

tags
str oppure dict
valore predefinito: None

Se specificato, restituisce esecuzioni corrispondenti a "tag" o {"tag": "value"}.

properties
str oppure dict
valore predefinito: None

Se specificato, restituisce le esecuzioni corrispondenti a "property" o {"property": "value"}.

type
str
valore predefinito: None

Se specificato, restituisce le esecuzioni corrispondenti a questo tipo.

status
str
valore predefinito: None

Se specificato, restituisce esecuzioni con stato specificato "status".

_rehydrate_runs
bool
valore predefinito: True

Indica se creare un'istanza di un'esecuzione del tipo originale o dell'esecuzione di base.

Restituisce

Elenco di oggetti Run.

Tipo restituito

get_context

Restituisce il contesto del servizio corrente.

Usare questo metodo per recuperare il contesto del servizio corrente per registrare le metriche e caricare i 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

cls
Necessario

Indica il metodo di classe.

allow_offline
bool
valore predefinito: True

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.

kwargs
dict
Necessario

Dizionario di parametri aggiuntivi.

used_for_context_manager
valore predefinito: False

Restituisce

Esecuzione inviata.

Tipo restituito

Run

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", verranno visualizzati i dettagli.

get_detailed_status()

Restituisce

Stato e dettagli più recenti

Tipo restituito

Commenti

  • status: lo 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

Restituisce i dettagli per l'esecuzione

Tipo restituito

Commenti

Il dizionario restituito contiene le coppie chiave-valore seguenti:

  • runId: ID dell'esecuzione.

  • target

  • status: lo stato corrente dell'esecuzione. Stesso valore restituito da get_status().

  • startTimeUtc: ora UTC dell'avvio dell'esecuzione in ISO8601.

  • endTimeUtc: ora UTC di fine dell'esecuzione (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 di esecuzione, incluso il contenuto del file di log.

get_details_with_logs()

Restituisce

Restituisce lo stato dell'esecuzione con il contenuto del file di log.

Tipo restituito

get_environment

Ottenere la definizione di ambiente usata da questa esecuzione.

get_environment()

Restituisce

Restituisce l'oggetto ambiente.

Tipo restituito

get_file_names

Elencare i file archiviati in associazione all'esecuzione.

get_file_names()

Restituisce

Elenco di percorsi per gli artefatti esistenti

Tipo restituito

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

name
str
valore predefinito: None

Nome della metrica.

recursive
bool
valore predefinito: False

Indica se ripetersi attraverso tutti i discendenti.

run_type
str
valore predefinito: None
populate
bool
valore predefinito: False

Indica se recuperare il contenuto dei dati esterni collegati alla metrica.

Restituisce

Dizionario contenente le metriche degli utenti.

Tipo restituito

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

Proprietà dell'esecuzione.

Tipo restituito

Commenti

Le proprietà sono informazioni non modificabili generate dal sistema, ad esempio durata, data di esecuzione, utente e proprietà personalizzate aggiunte con il add_properties metodo . Per altre informazioni, vedere Tag and find runs .For more information, see Tag and find runs.

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

name
str
Necessario

Nome del segreto per il quale restituire un segreto.

Restituisce

Valore del segreto.

Tipo restituito

str

get_secrets

Ottiene 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

secrets
list[str]
Necessario

Elenco di nomi segreti per i quali restituire i valori dei segreti.

Restituisce

Restituisce un dizionario di segreti trovati e non trovati.

Tipo restituito

dict[<xref:str: str>]

get_snapshot_id

Ottenere l'ID snapshot più recente.

get_snapshot_id()

Restituisce

ID snapshot più recente.

Tipo restituito

str

get_status

Recuperare lo stato più recente dell'esecuzione.

I valori comuni restituiti includono "Running", "Completed" e "Failed".

get_status()

Restituisce

Stato più recente.

Tipo restituito

str

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

  • In coda: il processo viene accodato nella destinazione di calcolo. Ad esempio, in BatchAI il processo è in coda

    in attesa che tutti i nodi richiesti siano pronti.

  • In esecuzione: il processo è stato 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. Sono inclusi sia il codice utente che l'esecuzione

    fasi post-elaborazione.

  • Non riuscito: 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. Usare get_context.

Ottenere l'esecuzione inviata per questo esperimento.

get_submitted_run(**kwargs)

Restituisce

Esecuzione inviata.

Tipo restituito

Run

get_tags

Recuperare il set più recente di tag modificabili nell'esecuzione dal servizio.

get_tags()

Restituisce

Tag archiviati nell'oggetto run.

Tipo restituito

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

experiment
Experiment
Necessario

Oggetto contenente l'esperimento.

type
str
valore predefinito: None

Se specificato, restituisce esecuzioni corrispondenti al tipo specificato.

tags
str oppure dict
valore predefinito: None

Se specificato, restituisce esecuzioni corrispondenti a "tag" o {"tag": "value"}.

properties
str oppure dict
valore predefinito: None

Se specificato, restituisce le esecuzioni corrispondenti a "property" o {"property": "value"}.

status
str
valore predefinito: None

Se specificato, restituisce esecuzioni con stato specificato "status".

include_children
bool
valore predefinito: False

Se impostato su true, recuperare tutte le esecuzioni, non solo quelle di primo livello.

_rehydrate_runs
bool
valore predefinito: True

Se impostato su True (per impostazione predefinita), userà il provider registrato per reinstantiare un oggetto per tale tipo anziché per run di base.

Restituisce

Elenco di esecuzioni.

Tipo restituito

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 dai filtri facoltativi.

static list_by_compute(compute, type=None, tags=None, properties=None, status=None)

Parametri

compute
ComputeTarget
Necessario

Oggetto contenente il calcolo.

type
str
valore predefinito: None

Se specificato, restituisce esecuzioni corrispondenti al tipo specificato.

tags
str oppure dict
valore predefinito: None

Se specificato, restituisce esecuzioni corrispondenti a "tag" o {"tag": "value"}.

properties
str oppure dict
valore predefinito: None

Se specificato, restituisce le esecuzioni corrispondenti a "property" o {"property": "value"}.

status
str
valore predefinito: None

Se specificato, restituisce esecuzioni con stato specificato "status". Solo i valori consentiti sono "Running" e "Queued".

Restituisce

generatore di ~_restclient.models.RunDto

Tipo restituito

<xref:builtin.generator>

log

Registrare un valore della metrica per l'esecuzione con il nome specificato.

log(name, value, description='', step=None)

Parametri

name
str
Necessario

Nome della metrica.

value
Necessario

Valore da registrare nel servizio.

description
str
Necessario

Descrizione della metrica facoltativa.

step
int
valore predefinito: None

Asse facoltativo per specificare l'ordine dei valori all'interno di una metrica.

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 artefatti.

La metrica della tabella di accuratezza è una metrica multi-uso e non scalare 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 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 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 one vs. 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 = # soglie = # campioni ricavati dallo spazio di 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

name
str
Necessario

Nome della tabella di accuratezza.

value
str oppure dict
Necessario

JSON contenente le proprietà nome, versione e dati.

description
str
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 altri dettagli 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

name
str
Necessario

Nome della matrice di confusione.

value
str oppure dict
Necessario

JSON contenente le proprietà nome, versione e dati.

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

name
str
Necessario

Nome della metrica.

path
str
Necessario

Percorso o flusso dell'immagine.

plot
<xref:matplotlib.pyplot>
Necessario

Tracciato da registrare come immagine.

description
str
Necessario

Descrizione della metrica facoltativa.

Commenti

Utilizzare 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 nell'esecuzione con il nome specificato.

log_list(name, value, description='')

Parametri

name
str
Necessario

Nome della metrica.

value
list
Necessario

Valori della metrica.

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

name
str
Necessario

Nome delle stime.

value
str oppure dict
Necessario

JSON contenente le proprietà nome, versione e dati.

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

name
str
Necessario

Nome dei residui.

value
str oppure dict
Necessario

JSON contenente le proprietà nome, versione e dati.

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

name
str
Necessario

Nome della metrica.

description
str
valore predefinito: None

Descrizione della metrica facoltativa.

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

name
str
Necessario

Nome della metrica.

value
dict
Necessario

Valore della tabella della metrica, un dizionario in cui le chiavi sono colonne da inserire nel servizio.

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

model_name
str
Necessario

Nome del modello.

model_path
str
valore predefinito: None

Percorso cloud relativo al modello, ad esempio "outputs/modelname". Se non specificato (Nessuno), model_name viene usato come percorso.

tags
dict[str, str]
valore predefinito: None

Dizionario di tag chiave-valore da assegnare al modello.

properties
dict[str, str]
valore predefinito: None

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.

model_framework
str
valore predefinito: None

Framework del modello da registrare. Framework attualmente supportati: TensorFlow, ScikitLearn, Onnx, Custom, Multi

model_framework_version
str
valore predefinito: None

Versione del framework del modello registrato.

description
str
valore predefinito: None

Descrizione facoltativa del modello.

datasets
list[(str, AbstractDataset)]
valore predefinito: None

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.

sample_input_dataset
AbstractDataset
valore predefinito: None

Facoltativa. Set di dati di input di esempio per il modello registrato

sample_output_dataset
AbstractDataset
valore predefinito: None

Facoltativa. Set di dati di output di esempio per il modello registrato

resource_configuration
ResourceConfiguration
valore predefinito: None

Facoltativa. Configurazione delle risorse per eseguire il modello registrato

kwargs
dict
Necessario

Parametri facoltativi.

Restituisce

Modello registrato.

Tipo restituito

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

tags
list
Necessario

Elenco di tag da rimuovere.

Restituisce

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

snapshot_id
str
valore predefinito: None

ID snapshot da ripristinare. Se non specificato, viene utilizzata la versione più recente.

path
str
valore predefinito: None

Percorso in cui viene salvato il file ZIP scaricato.

Restituisce

Percorso.

Tipo restituito

str

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

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

config
object
Necessario

Configurazione da inviare.

tags
dict
valore predefinito: None

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

kwargs
dict
Necessario

Parametri aggiuntivi usati nella funzione di invio per le configurazioni.

Restituisce

Oggetto run.

Tipo restituito

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

key
str
Necessario

Tasto tag

value
str
valore predefinito: None

Valore facoltativo per il tag

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

file_or_folder_path
str
Necessario

File o cartella contenente il codice sorgente dell'esecuzione.

Restituisce

Restituisce l'ID snapshot.

Tipo restituito

str

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

name
str
Necessario

Nome del file da caricare.

path_or_stream
str
Necessario

Percorso locale relativo o flusso al file da caricare.

datastore_name
str
Necessario

Nome archivio dati facoltativo

Tipo restituito

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

names
list
Necessario

Nomi dei file da caricare. Se impostato, è necessario impostare anche i percorsi.

paths
list
Necessario

Percorsi locali relativi ai file da caricare. Se impostato, i nomi sono obbligatori.

return_artifacts
bool
Necessario

Indica che per ogni file caricato deve essere restituito un oggetto artefatto.

timeout_seconds
int
Necessario

Timeout per il caricamento dei file.

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

name
str
Necessario

Nome della cartella dei file da caricare.

folder
str
Necessario

Percorso locale relativo della cartella da caricare.

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

show_output
bool
valore predefinito: False

Indica se visualizzare l'output dell'esecuzione in sys.stdout.

wait_post_processing
bool
valore predefinito: False

Indica se attendere il completamento della post-elaborazione al termine dell'esecuzione.

raise_on_error
bool
valore predefinito: True

Indica se viene generato un errore quando l'esecuzione è in uno stato di errore.

Restituisce

Oggetto status.

Tipo restituito

Attributi

description

Restituisce la descrizione dell'esecuzione.

La descrizione facoltativa dell'esecuzione è una stringa specificata dall'utente utile per descrivere un'esecuzione.

Restituisce

Descrizione dell'esecuzione.

Tipo restituito

str

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

Nome visualizzato dell'esecuzione.

Tipo restituito

str

experiment

Ottiene l'esperimento contenente l'esecuzione.

Restituisce

Recupera l'esperimento corrispondente all'esecuzione.

Tipo restituito

id

Ottenere l'ID esecuzione.

L'ID dell'esecuzione è un identificatore univoco nell'esperimento contenitore.

Restituisce

ID esecuzione.

Tipo restituito

str

name

DEPRECATO. Usare display_name.

Il nome facoltativo dell'esecuzione è una stringa specificata dall'utente utile per l'identificazione successiva dell'esecuzione.

Restituisce

ID esecuzione.

Tipo restituito

str

number

Ottenere il numero di esecuzione.

Numero in aumento monotonico che rappresenta l'ordine delle esecuzioni all'interno di un esperimento.

Restituisce

Numero di esecuzione.

Tipo restituito

int

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

Esecuzione padre oppure Nessuna se non è impostata.

Tipo restituito

Run

properties

Restituisce le proprietà non modificabili di questa esecuzione.

Restituisce

Proprietà memorizzate nella cache locale dell'esecuzione.

Tipo restituito

dict[str],
str

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

Tag archiviati nell'oggetto run.

Tipo restituito

type

Ottiene il tipo di esecuzione.

Indica come è stata creata o configurata l'esecuzione.

Restituisce

Tipo di esecuzione.

Tipo restituito

str