Run Klass
Definierar basklassen för alla Azure Machine Learning-experimentkörningar.
En körning representerar en enda utvärderingsversion av ett experiment. Körningar används för att övervaka den asynkrona körningen av en utvärderingsversion, logga mått och lagra utdata från utvärderingsversionen samt för att analysera resultat och komma åt artefakter som genereras av utvärderingsversionen.
Körningsobjekt skapas när du skickar ett skript för att träna en modell i många olika scenarier i Azure Machine Learning, inklusive HyperDrive-körningar, pipelinekörningar och AutoML-körningar. Ett Kör-objekt skapas också när du submit eller start_logging med Experiment klassen.
Information om hur du kommer igång med experiment och körningar finns i
Initiera kör-objektet.
- Arv
-
azureml._run_impl.run_base._RunBaseRun
Konstruktor
Run(experiment, run_id, outputs=None, **kwargs)
Parametrar
- _run_dto
- <xref:azureml._restclient.models.run_dto.RunDto>
Endast internt bruk.
Kommentarer
En körning representerar en enda utvärderingsversion av ett experiment. Ett Körningsobjekt används för att övervaka asynkron körning av en utvärderingsversion, logga mått och lagra utdata från utvärderingsversionen samt för att analysera resultat och komma åt artefakter som genereras av utvärderingsversionen.
Körning används i experimenteringskoden för att logga mått och artefakter till run history-tjänsten.
Körning används utanför experimenten för att övervaka förloppet och för att fråga efter och analysera de mått och resultat som genererades.
Funktionerna i Run inkluderar:
Lagra och hämta mått och data
Ladda upp och ladda ned filer
Använda taggar och den underordnade hierarkin för enkel sökning av tidigare körningar
Registrera lagrade modellfiler som en modell som kan operationaliseras
Lagra, ändra och hämta egenskaper för en körning
Läser in den aktuella körningen get_context från en fjärrmiljö med metoden
Effektivt ögonblicksbild av en fil eller katalog för reproducerbarhet
Den här klassen fungerar med i följande Experiment scenarier:
Skapa en körning genom att köra kod med hjälp av submit
Skapa en körning interaktivt i en notebook-fil med hjälp av start_logging
Logga mått och ladda upp artefakter i experimentet, till exempel när du använder log
Läsa mått och ladda ned artefakter när du analyserar experimentella resultat, till exempel när du använder get_metrics
Om du vill skicka en körning skapar du ett konfigurationsobjekt som beskriver hur experimentet körs. Här är exempel på de olika konfigurationsobjekt som du kan använda:
azureml.train.automl.automlconfig.AutoMLConfig
azureml.train.hyperdrive.HyperDriveConfig
azureml.pipeline.core.Pipeline
azureml.pipeline.core.PublishedPipeline
azureml.pipeline.core.PipelineEndpoint
Följande mått kan läggas till i en körning under träning av ett experiment.
Skalär
Logga ett numeriskt värde eller strängvärde till körningen med det angivna namnet med hjälp av log. Om du loggar ett mått till en körning lagras måttet i körningsposten i experimentet. Du kan logga samma mått flera gånger inom en körning, vilket innebär att resultatet betraktas som en vektor för det måttet.
Exempel:
run.log("accuracy", 0.95)
Lista
Logga en lista med värden för körningen med det angivna namnet med hjälp av log_list.
Exempel:
run.log_list("accuracies", [0.6, 0.7, 0.87])
Rad
Med hjälp av log_row skapas ett mått med flera kolumner enligt beskrivningen i
kwargs
. Varje namngiven parameter genererar en kolumn med det angivna värdet.log_row
kan anropas en gång för att logga en godtycklig tuppeln eller flera gånger i en loop för att generera en fullständig tabell.Exempel:
run.log_row("Y over X", x=1, y=0.4)
Tabell
Logga ett ordlisteobjekt till körningen med det angivna namnet med hjälp av log_table.
Exempel:
run.log_table("Y over X", {"x":[1, 2, 3], "y":[0.6, 0.7, 0.89]})
Bild
Logga en avbildning till körningsposten. Använd log_image för att logga en bildfil eller ett matplotlib-diagram till körningen. Dessa avbildningar kommer att vara synliga och jämförbara i körningsposten.
Exempel:
run.log_image("ROC", path)
Metoder
add_properties |
Lägg till oföränderliga egenskaper i körningen. Taggar och egenskaper (båda dict[str, str]) skiljer sig åt i sin föränderlighet. Egenskaper är oföränderliga, så de skapar en permanent post i granskningssyfte. Taggar är föränderliga. Mer information om hur du arbetar med taggar och egenskaper finns i Tagga och hitta körningar. |
add_type_provider |
Utökningsbarhetskrok för anpassade körningstyper som lagras i Körningshistorik. |
cancel |
Markera körningen som avbruten. Om det finns ett associerat jobb med ett angivet cancel_uri fält avslutar du även det jobbet. |
child_run |
Skapa en underordnad körning. |
clean |
Ta bort de filer som motsvarar den aktuella körningen på det mål som anges i körningskonfigurationen. |
complete |
Vänta tills aktivitetskön har bearbetats. Sedan markeras körningen som slutförd. Detta används vanligtvis i scenarier med interaktiva notebook-filer. |
create_children |
Skapa en eller flera underordnade körningar. |
download_file |
Ladda ned en associerad fil från lagringen. |
download_files |
Ladda ned filer från ett angivet lagringsprefix (mappnamn) eller hela containern om prefixet är ospecificerat. |
fail |
Markera körningen som misslyckad. Du kan också ange egenskapen Fel för körningen med ett meddelande eller undantag som skickas till |
flush |
Vänta tills aktivitetskön har bearbetats. |
get |
Hämta körningen för den här arbetsytan med dess körnings-ID. |
get_all_logs |
Ladda ned alla loggar för körningen till en katalog. |
get_children |
Hämta alla underordnade för den aktuella körningen som valts av angivna filter. |
get_context |
Returnera aktuell tjänstkontext. Använd den här metoden för att hämta den aktuella tjänstkontexten för att logga mått och ladda upp filer. Om |
get_detailed_status |
Hämta den senaste statusen för körningen. Om statusen för körningen är "Köad" visas informationen. |
get_details |
Hämta definition, statusinformation, aktuella loggfiler och annan information om körningen. |
get_details_with_logs |
Returnera körningsstatus inklusive loggfilinnehåll. |
get_environment |
Hämta miljödefinitionen som användes av den här körningen. |
get_file_names |
Visa en lista över de filer som lagras i samband med körningen. |
get_metrics |
Hämta måtten som loggats till körningen. Om |
get_properties |
Hämta de senaste egenskaperna för körningen från tjänsten. |
get_secret |
Hämta det hemliga värdet från kontexten för en körning. Hämta det hemliga värdet för det angivna namnet. Det hemliga namnet refererar till ett värde som lagras i Azure Key Vault associerat med din arbetsyta. Ett exempel på hur du arbetar med hemligheter finns i Använda hemligheter i träningskörningar. |
get_secrets |
Hämta de hemliga värdena för en viss lista med hemliga namn. Hämta en ordlista över hittade och hittade inte hemligheter för listan med angivna namn. Varje hemligt namn refererar till ett värde som lagras i Azure Key Vault associerat med din arbetsyta. Ett exempel på hur du arbetar med hemligheter finns i Använda hemligheter i träningskörningar. |
get_snapshot_id |
Hämta det senaste ögonblicksbilds-ID:t. |
get_status |
Hämta den senaste statusen för körningen. Vanliga värden som returneras är "Running", "Completed" och "Failed". |
get_submitted_run |
DEPRECATED. Använd get_context. Hämta den skickade körningen för det här experimentet. |
get_tags |
Hämta den senaste uppsättningen föränderliga taggar på körningen från tjänsten. |
list |
Hämta en lista över körningar i ett experiment som anges av valfria filter. |
list_by_compute |
Hämta en lista över körningar i en beräkning som anges av valfria filter. |
log |
Logga ett måttvärde för körningen med det angivna namnet. |
log_accuracy_table |
Logga en noggrannhetstabell till artefaktarkivet. Precisionstabellmåttet är ett icke-skalärt mått med flera användningsområden som kan användas för att skapa flera typer av linjediagram som kontinuerligt varierar över utrymmet för förutsagda sannolikheter. Exempel på dessa diagram är ROC, precisionsåterkallelse och lyftkurvor. Beräkningen av noggrannhetstabellen liknar beräkningen av en ROC-kurva. En ROC-kurva lagrar sanna positiva värden och falska positiva värden vid många olika sannolikhetströsklar. Noggrannhetstabellen lagrar det råa antalet sanna positiva identifieringar, falska positiva identifieringar, sanna negativa och falska negativa värden vid många sannolikhetströsklar. Det finns två metoder som används för att välja tröskelvärden: "sannolikhet" och "percentil". De skiljer sig åt i hur de samplas från utrymmet för förutsagda sannolikheter. Sannolikhetströsklar är jämnt fördelade tröskelvärden mellan 0 och 1. Om NUM_POINTS är 5 är sannolikhetströskelvärdena [0,0, 0,25, 0,5, 0,75, 1,0]. Percentiltrösklar är fördelade enligt fördelningen av förutsagda sannolikheter. Varje tröskelvärde motsvarar percentilen av data vid ett sannolikhetströskelvärde. Om NUM_POINTS till exempel är 5 är det första tröskelvärdet den 0:e percentilen, den andra vid den 25:e percentilen, den tredje på den 50:e och så vidare. Sannolikhetstabellerna och percentiltabellerna är båda 3D-listor där den första dimensionen representerar klassetiketten, den andra dimensionen representerar exemplet vid ett tröskelvärde (skalar med NUM_POINTS) och den tredje dimensionen har alltid 4 värden: TP, FP, TN, FN och alltid i den ordningen. Förvirringsvärdena (TP, FP, TN, FN) beräknas med strategin one vs. rest. Mer information finns i följande länk: https://en.wikipedia.org/wiki/Multiclass_classification N = antal exempel i valideringsdatauppsättningen (200 i exempel) M = # tröskelvärden = # exempel tagna från sannolikhetsutrymmet (5 i exempel) C = # klasser i fullständig datamängd (3 i exempel) Några invarianter i precisionstabellen:
Obs! M kan vara valfritt värde och styr upplösningen för diagrammen Detta är oberoende av datauppsättningen, definieras vid beräkning av mått och avväger lagringsutrymme, beräkningstid och lösning. Klassetiketter ska vara strängar, felvärden ska vara heltal och tröskelvärden ska vara flyttal. |
log_confusion_matrix |
Logga en förvirringsmatris till artefaktarkivet. Detta loggar en omslutning runt sklearn-förvirringsmatrisen. Måttdata innehåller klassetiketterna och en 2D-lista för själva matrisen. Se följande länk för mer information om hur måttet beräknas: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html |
log_image |
Logga ett avbildningsmått till körningsposten. |
log_list |
Logga en lista med måttvärden för körningen med det angivna namnet. |
log_predictions |
Logga förutsägelser till artefaktarkivet. Detta loggar en måttpoäng som kan användas för att jämföra fördelningarna av sanna målvärden med fördelningen av förutsagda värden för en regressionsaktivitet. Förutsägelserna är diskreta och standardavvikelser beräknas för felstaplar i ett linjediagram. |
log_residuals |
Loggrester till artefaktarkivet. Detta loggar de data som behövs för att visa ett histogram över residualer för en regressionsuppgift. Residualerna förutsägs - faktiska. Det bör finnas en mer kant än antalet. I dokumentationen för numpy histogram finns exempel på hur du använder antal och kanter för att representera ett histogram. https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html |
log_row |
Logga ett radmått för körningen med det angivna namnet. |
log_table |
Logga ett tabellmått för körningen med det angivna namnet. |
register_model |
Registrera en modell för driftsättning. |
remove_tags |
Ta bort listan över föränderliga taggar vid den här körningen. |
restore_snapshot |
Återställa en ögonblicksbild som en ZIP-fil. Returnerar sökvägen till ZIP-filen. |
set_tags |
Lägg till eller ändra en uppsättning taggar under körningen. Taggar som inte skickas i ordlistan lämnas orörda. Du kan också lägga till enkla strängtaggar. När dessa taggar visas i taggordlistan som nycklar har de värdet Ingen. Mer information finns i Tagga och hitta körningar. |
start |
Markera körningen som startad. Detta används vanligtvis i avancerade scenarier när körningen har skapats av en annan aktör. |
submit_child |
Skicka ett experiment och returnera den aktiva underordnade körningen. |
tag |
Tagga körningen med en strängnyckel och ett valfritt strängvärde. |
take_snapshot |
Spara en ögonblicksbild av indatafilen eller mappen. |
upload_file |
Ladda upp en fil till körningsposten. |
upload_files |
Ladda upp filer till körningsposten. |
upload_folder |
Ladda upp den angivna mappen till det angivna prefixnamnet. |
wait_for_completion |
Vänta tills körningen har slutförts. Returnerar statusobjektet efter väntetiden. |
add_properties
Lägg till oföränderliga egenskaper i körningen.
Taggar och egenskaper (båda dict[str, str]) skiljer sig åt i sin föränderlighet. Egenskaper är oföränderliga, så de skapar en permanent post i granskningssyfte. Taggar är föränderliga. Mer information om hur du arbetar med taggar och egenskaper finns i Tagga och hitta körningar.
add_properties(properties)
Parametrar
add_type_provider
Utökningsbarhetskrok för anpassade körningstyper som lagras i Körningshistorik.
static add_type_provider(runtype, run_factory)
Parametrar
- runtype
- str
Värdet för Run.type som fabriken ska anropas för. Exempel är "hyperdrive" eller "azureml.scriptrun", men kan utökas med anpassade typer.
- run_factory
- <xref:function>
En funktion med signatur (Experiment, RunDto) –> Kör som ska anropas när listan körs.
cancel
Markera körningen som avbruten.
Om det finns ett associerat jobb med ett angivet cancel_uri fält avslutar du även det jobbet.
cancel()
child_run
Skapa en underordnad körning.
child_run(name=None, run_id=None, outputs=None)
Parametrar
- name
- str
Ett valfritt namn för den underordnade körningen, som vanligtvis anges för en "del".
- run_id
- str
Ett valfritt körnings-ID för det underordnade, annars genereras det automatiskt. Den här parametern är vanligtvis inte inställd.
Returer
Den underordnade körningen.
Returtyp
Kommentarer
Detta används för att isolera en del av en körning till ett underavsnitt. Detta kan göras för identifierbara "delar" av en körning som är intressant att separera, eller för att samla in oberoende mått över en interation av en underprocess.
Om en utdatakatalog har angetts för den underordnade körningen laddas innehållet i katalogen upp till den underordnade körningsposten när det underordnade objektet har slutförts.
clean
Ta bort de filer som motsvarar den aktuella körningen på det mål som anges i körningskonfigurationen.
clean()
Returer
En lista över filer som tagits bort.
Returtyp
complete
Vänta tills aktivitetskön har bearbetats.
Sedan markeras körningen som slutförd. Detta används vanligtvis i scenarier med interaktiva notebook-filer.
complete(_set_status=True)
Parametrar
create_children
Skapa en eller flera underordnade körningar.
create_children(count=None, tag_key=None, tag_values=None)
Parametrar
- tag_key
- str
En valfri nyckel för att fylla i posten Taggar i alla skapade underordnade.
- tag_Values
En valfri lista med värden som ska mappas till Taggar[tag_key] för listan över körningar som skapats.
- tag_values
Returer
Listan över underordnade körningar.
Returtyp
Kommentarer
Antingen parametern count
ELLER parametrarNA tag_key
AND tag_values
måste anges.
download_file
Ladda ned en associerad fil från lagringen.
download_file(name, output_file_path=None, _validate_checksum=False)
Parametrar
download_files
Ladda ned filer från ett angivet lagringsprefix (mappnamn) eller hela containern om prefixet är ospecificerat.
download_files(prefix=None, output_directory=None, output_paths=None, batch_size=100, append_prefix=True, timeout_seconds=None)
Parametrar
- output_paths
- [str]
Valfria filsökvägar där de nedladdade artefakterna ska lagras. Bör vara unikt och matcha längden på sökvägar.
- batch_size
- int
Antalet filer som ska laddas ned per batch. Standardvärdet är 100 filer.
- append_prefix
- bool
En valfri flagga om du vill lägga till det angivna prefixet från den slutliga utdatafilsökvägen. Om falskt tas prefixet bort från sökvägen till utdatafilen.
fail
Markera körningen som misslyckad.
Du kan också ange egenskapen Fel för körningen med ett meddelande eller undantag som skickas till error_details
.
fail(error_details=None, error_code=None, _set_status=True)
Parametrar
flush
Vänta tills aktivitetskön har bearbetats.
flush(timeout_seconds=300)
Parametrar
- timeout_seconds
- int
Hur lång tid att vänta (i sekunder) på att uppgiftskö ska bearbetas.
get
Hämta körningen för den här arbetsytan med dess körnings-ID.
static get(workspace, run_id)
Parametrar
Returer
Den skickade körningen.
Returtyp
get_all_logs
Ladda ned alla loggar för körningen till en katalog.
get_all_logs(destination=None)
Parametrar
- destination
- str
Målsökvägen för att lagra loggar. Om det inte anges skapas en katalog med namnet kör-ID i projektkatalogen.
Returer
En lista med namn på nedladdade loggar.
Returtyp
get_children
Hämta alla underordnade för den aktuella körningen som valts av angivna filter.
get_children(recursive=False, tags=None, properties=None, type=None, status=None, _rehydrate_runs=True)
Parametrar
Om det anges returneras körningar som matchar angiven "tagg" eller {"tag": "value"}.
Om det anges returneras körningar som matchar angiven "egenskap" eller {"egenskap": "värde"}.
- _rehydrate_runs
- bool
Anger om du vill instansiera en körning av den ursprungliga typen eller baskörningen.
Returer
En lista över Run objekt.
Returtyp
get_context
Returnera aktuell tjänstkontext.
Använd den här metoden för att hämta den aktuella tjänstkontexten för att logga mått och ladda upp filer. Om allow_offline
är Sant (standard) skrivs åtgärder mot Kör-objektet ut till standardut.
get_context(allow_offline=True, used_for_context_manager=False, **kwargs)
Parametrar
- cls
Anger klassmetod.
- allow_offline
- bool
Tillåt att tjänstkontexten återgår till offlineläge så att träningsskriptet kan testas lokalt utan att skicka ett jobb med SDK:en. Sant som standard.
- used_for_context_manager
Returer
Den skickade körningen.
Returtyp
Kommentarer
Den här funktionen används ofta för att hämta det autentiserade Körningsobjektet i ett skript som ska skickas för körning via experiment.submit(). Det här körningsobjektet är både en autentiserad kontext för att kommunicera med Azure Machine Learning-tjänster och en konceptuell container där mått, filer (artefakter) och modeller finns.
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
Hämta den senaste statusen för körningen. Om statusen för körningen är "Köad" visas informationen.
get_detailed_status()
Returer
Den senaste statusen och informationen
Returtyp
Kommentarer
status: Körningens aktuella status. Samma värde som det som returnerades från get_status().
information: Detaljerad information för aktuell status.
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
Hämta definition, statusinformation, aktuella loggfiler och annan information om körningen.
get_details()
Returer
Returnera informationen för körningen
Returtyp
Kommentarer
Den returnerade ordlistan innehåller följande nyckel/värde-par:
runId: ID för den här körningen.
Mål
status: Körningens aktuella status. Samma värde som det som returnerades från get_status().
startTimeUtc: UTC-tid för när den här körningen startades, i ISO8601.
endTimeUtc: UTC-tid då den här körningen slutfördes (antingen slutförd eller misslyckad) i ISO8601.
Den här nyckeln finns inte om körningen fortfarande pågår.
egenskaper: Oföränderliga nyckel/värde-par som är associerade med körningen. Standardegenskaperna inkluderar körningens ögonblicksbilds-ID och information om git-lagringsplatsen som körningen skapades från (om någon). Ytterligare egenskaper kan läggas till i en körning med .add_properties
inputDatasets: Indatauppsättningar som är associerade med körningen.
outputDatasets: Utdatauppsättningar som är associerade med körningen.
Loggfiler
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
Returnera körningsstatus inklusive loggfilinnehåll.
get_details_with_logs()
Returer
Returnerar status för körningen med loggfilinnehållet.
Returtyp
get_environment
Hämta miljödefinitionen som användes av den här körningen.
get_environment()
Returer
Returnera miljöobjektet.
Returtyp
get_file_names
Visa en lista över de filer som lagras i samband med körningen.
get_file_names()
Returer
Listan över sökvägar för befintliga artefakter
Returtyp
get_metrics
Hämta måtten som loggats till körningen.
Om recursive
är Sant (falskt som standard) hämtar du mått för körningar i den angivna körningens underträd.
get_metrics(name=None, recursive=False, run_type=None, populate=False)
Parametrar
- run_type
- str
- populate
- bool
Anger om innehållet i externa data som är länkade till måttet ska hämtas.
Returer
En ordlista som innehåller användarmåtten.
Returtyp
Kommentarer
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
Hämta de senaste egenskaperna för körningen från tjänsten.
get_properties()
Returer
Egenskaperna för körningen.
Returtyp
Kommentarer
Egenskaper är oföränderlig systemgenererad information, till exempel varaktighet, körningsdatum, användare och anpassade egenskaper som läggs till med add_properties metoden. Mer information finns i Tagga och hitta körningar.
När du skickar ett jobb till Azure Machine Learning, om källfiler lagras på en lokal git-lagringsplats lagras information om lagringsplatsen som egenskaper. Dessa git-egenskaper läggs till när du skapar en körning eller anropar Experiment.submit. Mer information om git-egenskaper finns i Git-integrering för Azure Machine Learning.
get_secret
Hämta det hemliga värdet från kontexten för en körning.
Hämta det hemliga värdet för det angivna namnet. Det hemliga namnet refererar till ett värde som lagras i Azure Key Vault associerat med din arbetsyta. Ett exempel på hur du arbetar med hemligheter finns i Använda hemligheter i träningskörningar.
get_secret(name)
Parametrar
Returer
Det hemliga värdet.
Returtyp
get_secrets
Hämta de hemliga värdena för en viss lista med hemliga namn.
Hämta en ordlista över hittade och hittade inte hemligheter för listan med angivna namn. Varje hemligt namn refererar till ett värde som lagras i Azure Key Vault associerat med din arbetsyta. Ett exempel på hur du arbetar med hemligheter finns i Använda hemligheter i träningskörningar.
get_secrets(secrets)
Parametrar
Returer
Returnerar en ordlista över hittade och hittade inte hemligheter.
Returtyp
get_snapshot_id
Hämta det senaste ögonblicksbilds-ID:t.
get_snapshot_id()
Returer
Det senaste ögonblicksbilds-ID:t.
Returtyp
get_status
Hämta den senaste statusen för körningen.
Vanliga värden som returneras är "Running", "Completed" och "Failed".
get_status()
Returer
Den senaste statusen.
Returtyp
Kommentarer
NotStarted – det här är ett tillfälligt tillstånd för körningsobjekt på klientsidan innan molnöverföring.
Start – Körningen har börjat bearbetas i molnet. Anroparen har ett körnings-ID just nu.
Etablering – returneras när beräkning på begäran skapas för en viss jobböverföring.
Förbereder – Körningsmiljön förbereds:
docker-avbildningsversion
konfiguration av conda-miljö
I kö – Jobbet placeras i kö i beräkningsmålet. I BatchAI är jobbet till exempel i kötillstånd
medan du väntar på att alla begärda noder ska vara klara.
Körs – jobbet började köras i beräkningsmålet.
Slutför – Användarkoden har slutförts och körningen är i efterbearbetningssteg.
CancelRequested – Annullering har begärts för jobbet.
Slutförd – körningen slutfördes. Detta omfattar både användarkoden och körningen
efterbearbetningssteg.
Misslyckades – körningen misslyckades. Vanligtvis innehåller egenskapen Error på en körning information om varför.
Avbryts – följer en begäran om annullering och anger att körningen nu har avbrutits.
Svarar inte – För körningar som har Pulsslag aktiverat har inga pulsslag nyligen skickats.
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
DEPRECATED. Använd get_context.
Hämta den skickade körningen för det här experimentet.
get_submitted_run(**kwargs)
Returer
Den skickade körningen.
Returtyp
get_tags
Hämta den senaste uppsättningen föränderliga taggar på körningen från tjänsten.
get_tags()
Returer
Taggarna som lagras på körningsobjektet.
Returtyp
list
Hämta en lista över körningar i ett experiment som anges av valfria filter.
static list(experiment, type=None, tags=None, properties=None, status=None, include_children=False, _rehydrate_runs=True)
Parametrar
Om det anges returneras körningar som matchar angiven "tagg" eller {"tag": "value"}.
Om det anges returneras körningar som matchar angiven "egenskap" eller {"egenskap": "värde"}.
- include_children
- bool
Om värdet är true hämtar du alla körningar, inte bara de på toppnivå.
- _rehydrate_runs
- bool
Om värdet är True (som standard) använder den registrerade providern för att återställa ett objekt för den typen i stället för baskörningen.
Returer
En lista över körningar.
Returtyp
Kommentarer
I följande kodexempel visas vissa användningsområden för list
metoden.
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
Hämta en lista över körningar i en beräkning som anges av valfria filter.
static list_by_compute(compute, type=None, tags=None, properties=None, status=None)
Parametrar
Om det anges returneras körningar som matchar angiven "tagg" eller {"tag": "value"}.
Om det anges returneras körningar som matchar angiven "egenskap" eller {"egenskap": "värde"}.
- status
- str
Om det anges returneras körningar med status angiven "status". Endast tillåtna värden är "Running" och "Queued".
Returer
en generator av ~_restclient.models.RunDto
Returtyp
log
Logga ett måttvärde för körningen med det angivna namnet.
log(name, value, description='', step=None)
Parametrar
- value
Det värde som ska bokföras till tjänsten.
Kommentarer
Om du loggar ett mått till en körning lagras måttet i körningsposten i experimentet. Du kan logga samma mått flera gånger inom en körning, vilket innebär att resultatet betraktas som en vektor för det måttet. Om steget anges för ett mått måste det anges för alla värden.
log_accuracy_table
Logga en noggrannhetstabell till artefaktarkivet.
Precisionstabellmåttet är ett icke-skalärt mått med flera användningsområden som kan användas för att skapa flera typer av linjediagram som kontinuerligt varierar över utrymmet för förutsagda sannolikheter. Exempel på dessa diagram är ROC, precisionsåterkallelse och lyftkurvor.
Beräkningen av noggrannhetstabellen liknar beräkningen av en ROC-kurva. En ROC-kurva lagrar sanna positiva värden och falska positiva värden vid många olika sannolikhetströsklar. Noggrannhetstabellen lagrar det råa antalet sanna positiva identifieringar, falska positiva identifieringar, sanna negativa och falska negativa värden vid många sannolikhetströsklar.
Det finns två metoder som används för att välja tröskelvärden: "sannolikhet" och "percentil". De skiljer sig åt i hur de samplas från utrymmet för förutsagda sannolikheter.
Sannolikhetströsklar är jämnt fördelade tröskelvärden mellan 0 och 1. Om NUM_POINTS är 5 är sannolikhetströskelvärdena [0,0, 0,25, 0,5, 0,75, 1,0].
Percentiltrösklar är fördelade enligt fördelningen av förutsagda sannolikheter. Varje tröskelvärde motsvarar percentilen av data vid ett sannolikhetströskelvärde. Om NUM_POINTS till exempel är 5 är det första tröskelvärdet den 0:e percentilen, den andra vid den 25:e percentilen, den tredje på den 50:e och så vidare.
Sannolikhetstabellerna och percentiltabellerna är båda 3D-listor där den första dimensionen representerar klassetiketten, den andra dimensionen representerar exemplet vid ett tröskelvärde (skalar med NUM_POINTS) och den tredje dimensionen har alltid 4 värden: TP, FP, TN, FN och alltid i den ordningen.
Förvirringsvärdena (TP, FP, TN, FN) beräknas med strategin one vs. rest. Mer information finns i följande länk: https://en.wikipedia.org/wiki/Multiclass_classification
N = antal exempel i valideringsdatauppsättningen (200 i exempel) M = # tröskelvärden = # exempel tagna från sannolikhetsutrymmet (5 i exempel) C = # klasser i fullständig datamängd (3 i exempel)
Några invarianter i precisionstabellen:
- TP + FP + TN + FN = N för alla tröskelvärden för alla klasser
- TP + FN är samma vid alla tröskelvärden för alla klasser
- TN + FP är samma vid alla tröskelvärden för alla klasser
- Sannolikhetstabeller och percentiltabeller har form [C, M, 4]
Obs! M kan vara valfritt värde och styr upplösningen för diagrammen Detta är oberoende av datauppsättningen, definieras vid beräkning av mått och avväger lagringsutrymme, beräkningstid och lösning.
Klassetiketter ska vara strängar, felvärden ska vara heltal och tröskelvärden ska vara flyttal.
log_accuracy_table(name, value, description='')
Parametrar
Kommentarer
Exempel på ett giltigt JSON-värde:
{
"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
Logga en förvirringsmatris till artefaktarkivet.
Detta loggar en omslutning runt sklearn-förvirringsmatrisen. Måttdata innehåller klassetiketterna och en 2D-lista för själva matrisen. Se följande länk för mer information om hur måttet beräknas: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html
log_confusion_matrix(name, value, description='')
Parametrar
Kommentarer
Exempel på ett giltigt JSON-värde:
{
"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
Logga ett avbildningsmått till körningsposten.
log_image(name, path=None, plot=None, description='')
Parametrar
- plot
- <xref:matplotlib.pyplot>
Diagrammet som ska loggas som en bild.
Kommentarer
Använd den här metoden för att logga en bildfil eller ett matplotlib-diagram till körningen. Dessa avbildningar kommer att vara synliga och jämförbara i körningsposten.
log_list
Logga en lista med måttvärden för körningen med det angivna namnet.
log_list(name, value, description='')
Parametrar
log_predictions
Logga förutsägelser till artefaktarkivet.
Detta loggar en måttpoäng som kan användas för att jämföra fördelningarna av sanna målvärden med fördelningen av förutsagda värden för en regressionsaktivitet.
Förutsägelserna är diskreta och standardavvikelser beräknas för felstaplar i ett linjediagram.
log_predictions(name, value, description='')
Parametrar
Kommentarer
Exempel på ett giltigt JSON-värde:
{
"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
Loggrester till artefaktarkivet.
Detta loggar de data som behövs för att visa ett histogram över residualer för en regressionsuppgift. Residualerna förutsägs - faktiska.
Det bör finnas en mer kant än antalet. I dokumentationen för numpy histogram finns exempel på hur du använder antal och kanter för att representera ett histogram. https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html
log_residuals(name, value, description='')
Parametrar
Kommentarer
Exempel på ett giltigt JSON-värde:
{
"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
Logga ett radmått för körningen med det angivna namnet.
log_row(name, description=None, **kwargs)
Parametrar
- kwargs
- dict
En ordlista med ytterligare parametrar. I det här fallet kolumnerna i måttet.
Kommentarer
När du använder log_row
skapas ett tabellmått med kolumner enligt beskrivningen i kwargs. Varje namngiven parameter genererar en kolumn med det angivna värdet. log_row
kan anropas en gång för att logga en godtycklig tuppla eller flera gånger i en loop för att generera en fullständig tabell.
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
Logga ett tabellmått för körningen med det angivna namnet.
log_table(name, value, description='')
Parametrar
- value
- dict
Tabellvärdet för måttet, en ordlista där nycklar är kolumner som ska publiceras i tjänsten.
register_model
Registrera en modell för driftsättning.
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)
Parametrar
- model_path
- str
Den relativa molnsökvägen till modellen, till exempel "outputs/modelname".
När det inte anges (Ingen) model_name
används som sökväg.
En ordlista med nyckelvärdestaggar som ska tilldelas till modellen.
En ordlista med nyckelvärdesegenskaper som ska tilldelas till modellen. Dessa egenskaper kan inte ändras när modellen har skapats, men nya nyckel/värde-par kan läggas till.
- model_framework
- str
Ramverket för modellen som ska registreras. Ramverk som stöds för närvarande: TensorFlow, ScikitLearn, Onnx, Custom, Multi
- datasets
- list[(str, AbstractDataset)]
En lista över tupplar där det första elementet beskriver relationen mellan datamängd och modell och det andra elementet är datauppsättningen.
- sample_input_dataset
- AbstractDataset
Valfritt. Exempel på indatauppsättning för den registrerade modellen
- sample_output_dataset
- AbstractDataset
Valfritt. Exempel på utdatauppsättning för den registrerade modellen
- resource_configuration
- ResourceConfiguration
Valfritt. Resurskonfiguration för att köra den registrerade modellen
Returer
Den registrerade modellen.
Returtyp
Kommentarer
model = best_run.register_model(model_name = 'best_model', model_path = 'outputs/model.pkl')
remove_tags
Ta bort listan över föränderliga taggar vid den här körningen.
remove_tags(tags)
Parametrar
Returer
Taggarna som lagras på körningsobjektet
restore_snapshot
Återställa en ögonblicksbild som en ZIP-fil. Returnerar sökvägen till ZIP-filen.
restore_snapshot(snapshot_id=None, path=None)
Parametrar
- snapshot_id
- str
Det ögonblicksbilds-ID som ska återställas. Den senaste används om den inte anges.
Returer
Sökvägen.
Returtyp
set_tags
Lägg till eller ändra en uppsättning taggar under körningen. Taggar som inte skickas i ordlistan lämnas orörda.
Du kan också lägga till enkla strängtaggar. När dessa taggar visas i taggordlistan som nycklar har de värdet Ingen. Mer information finns i Tagga och hitta körningar.
set_tags(tags)
Parametrar
start
Markera körningen som startad.
Detta används vanligtvis i avancerade scenarier när körningen har skapats av en annan aktör.
start()
submit_child
Skicka ett experiment och returnera den aktiva underordnade körningen.
submit_child(config, tags=None, **kwargs)
Parametrar
- tags
- dict
Taggar som ska läggas till i den skickade körningen, t.ex. {"tag": "value"}.
- kwargs
- dict
Ytterligare parametrar som används i submit-funktionen för konfigurationer.
Returer
Ett körningsobjekt.
Returtyp
Kommentarer
Skicka är ett asynkront anrop till Azure Machine Learning-plattformen för att köra en utvärderingsversion av lokal maskinvara eller fjärrmaskinvara. Beroende på konfigurationen förbereder skicka automatiskt körningsmiljöerna, kör koden och samlar in källkoden och resultaten i experimentets körningshistorik.
Om du vill skicka ett experiment måste du först skapa ett konfigurationsobjekt som beskriver hur experimentet ska köras. Konfigurationen beror på vilken typ av utvärdering som krävs.
Ett exempel på hur du skickar ett underordnat experiment från din lokala dator med ScriptRunConfig är följande:
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()
Mer information om hur du konfigurerar en körning finns i submit.
tag
Tagga körningen med en strängnyckel och ett valfritt strängvärde.
tag(key, value=None)
Parametrar
Kommentarer
Taggar och egenskaper vid en körning är både ordlistor med sträng –> sträng. Skillnaden mellan dem är föränderlighet: Taggar kan anges, uppdateras och tas bort medan egenskaper bara kan läggas till. Detta gör egenskaper mer lämpliga för system-/arbetsflödesrelaterade beteendeutlösare, medan taggar vanligtvis är användarriktade och meningsfulla för experimentets användare.
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
Spara en ögonblicksbild av indatafilen eller mappen.
take_snapshot(file_or_folder_path)
Parametrar
Returer
Returnerar ögonblicksbildens ID.
Returtyp
Kommentarer
Ögonblicksbilder är avsedda att vara den källkod som används för att köra experimentkörningen. Dessa lagras med körningen så att körningsutvärderingen kan replikeras i framtiden.
Anteckning
Ögonblicksbilder tas automatiskt när submit anropas. Detta är vanligtvis den take_snapshot metoden endast krävs för interaktiva körningar (notebook-filer).
upload_file
Ladda upp en fil till körningsposten.
upload_file(name, path_or_stream, datastore_name=None)
Parametrar
- path_or_stream
- str
Den relativa lokala sökvägen eller dataströmmen till filen som ska laddas upp.
Returtyp
Kommentarer
run = experiment.start_logging()
run.upload_file(name='important_file', path_or_stream="path/on/disk/file.txt")
Anteckning
Kör automatiskt avbildningsfilen i den angivna utdatakatalogen, som som standard är "./outputs" för de flesta körningstyper. Använd endast upload_file när ytterligare filer behöver laddas upp eller en utdatakatalog inte har angetts.
upload_files
Ladda upp filer till körningsposten.
upload_files(names, paths, return_artifacts=False, timeout_seconds=None, datastore_name=None)
Parametrar
- names
- list
Namnen på de filer som ska laddas upp. Om sökvägarna anges måste de också anges.
- paths
- list
De relativa lokala sökvägarna till de filer som ska laddas upp. Om detta anges krävs namn.
- return_artifacts
- bool
Anger att ett artefaktobjekt ska returneras för varje fil som laddas upp.
Kommentarer
upload_files
har samma effekt som upload_file
för separata filer, men det finns prestanda- och resursanvändningsfördelar när du använder 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')
Anteckning
Kör automatiskt avbildningsfiler i den angivna utdatakatalogen, som standard är "./outputs" för de flesta körningstyper. Använd endast upload_files när ytterligare filer behöver laddas upp eller en utdatakatalog inte har angetts.
upload_folder
Ladda upp den angivna mappen till det angivna prefixnamnet.
upload_folder(name, path, datastore_name=None)
Parametrar
Kommentarer
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')
Anteckning
Kör automatiskt avbildningsfiler i den angivna utdatakatalogen, som standard är "./outputs" för de flesta körningstyper. Använd endast upload_folder när ytterligare filer behöver laddas upp eller en utdatakatalog inte har angetts.
wait_for_completion
Vänta tills körningen har slutförts. Returnerar statusobjektet efter väntetiden.
wait_for_completion(show_output=False, wait_post_processing=False, raise_on_error=True)
Parametrar
- wait_post_processing
- bool
Anger om efterbearbetningen ska slutföras när körningen har slutförts.
- raise_on_error
- bool
Anger om ett fel utlöses när körningen är i ett feltillstånd.
Returer
Statusobjektet.
Returtyp
Attribut
description
Returnera körningsbeskrivningen.
Den valfria beskrivningen av körningen är en användardefinerad sträng som är användbar för att beskriva en körning.
Returer
Körningsbeskrivningen.
Returtyp
display_name
Returnera körningsvisningsnamnet.
Det valfria visningsnamnet för körningen är en användardefinerad sträng som är användbar för senare identifiering av körningen.
Returer
Körningens visningsnamn.
Returtyp
experiment
Hämta experiment som innehåller körningen.
Returer
Hämtar experimentet som motsvarar körningen.
Returtyp
id
Hämta körnings-ID.
Körningens ID är en identifierare som är unik för det innehållande experimentet.
Returer
Körnings-ID:t.
Returtyp
name
DEPRECATED. Använd display_name.
Det valfria namnet på körningen är en användarspecifik sträng som är användbar för senare identifiering av körningen.
Returer
Körnings-ID:t.
Returtyp
number
Hämta körningsnummer.
Ett monotont ökande tal som representerar ordningen på körningar i ett experiment.
Returer
Körningsnumret.
Returtyp
parent
Hämta den överordnade körningen för den här körningen från tjänsten.
Körningar kan ha en valfri överordnad, vilket resulterar i en potentiell trädhierarki med körningar. Om du vill logga mått till en överordnad log körning använder du metoden för det överordnade objektet, run.parent.log()
till exempel .
Returer
Den överordnade körningen, eller Ingen om en inte har angetts.
Returtyp
properties
Returnera de oföränderliga egenskaperna för den här körningen.
Returer
Körningens lokalt cachelagrade egenskaper.
Returtyp
Kommentarer
Egenskaperna omfattar oföränderlig systemgenererad information, till exempel varaktighet, körningsdatum, användare osv.
status
Returnera körningsobjektets status.
tags
Returnera uppsättningen med föränderliga taggar på den här körningen.
Returer
Taggarna som lagras på körningsobjektet.
Returtyp
type
Hämta körningstyp.
Anger hur körningen skapades eller konfigurerades.
Returer
Körningstypen.
Returtyp
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för