Run Klas
Definieert de basisklasse voor alle Uitvoeringen van Azure Machine Learning-experimenten.
Een uitvoering vertegenwoordigt één proefversie van een experiment. Uitvoeringen worden gebruikt om de asynchrone uitvoering van een proefversie te bewaken, metrische gegevens te registreren en uitvoer van de proefversie op te slaan, en om resultaten te analyseren en toegang te krijgen tot artefacten die door de proefversie zijn gegenereerd.
Uitvoeringsobjecten worden gemaakt wanneer u een script verzendt om een model te trainen in veel verschillende scenario's in Azure Machine Learning, waaronder HyperDrive-uitvoeringen, pijplijnuitvoeringen en AutoML-uitvoeringen. Een Run-object wordt ook gemaakt wanneer u submit of start_logging met de Experiment klasse.
Als u aan de slag wilt met experimenten en uitvoeringen, raadpleegt u
Initialiseer het run-object.
- Overname
-
azureml._run_impl.run_base._RunBaseRun
Constructor
Run(experiment, run_id, outputs=None, **kwargs)
Parameters
Name | Description |
---|---|
experiment
Vereist
|
Het bevattende experiment. |
run_id
Vereist
|
De id voor de uitvoering. |
outputs
|
De uitvoer die moet worden bijgehouden. Default value: None
|
_run_dto
Vereist
|
<xref:azureml._restclient.models.run_dto.RunDto>
Alleen intern gebruik. |
kwargs
Vereist
|
Een woordenlijst met aanvullende configuratieparameters. |
experiment
Vereist
|
Het bevattende experiment. |
run_id
Vereist
|
De id voor de uitvoering. |
outputs
Vereist
|
De uitvoer die moet worden bijgehouden. |
kwargs
Vereist
|
Een woordenlijst met aanvullende configuratieparameters. |
Opmerkingen
Een uitvoering vertegenwoordigt één proefversie van een experiment. Een Run-object wordt gebruikt om de asynchrone uitvoering van een proefversie te bewaken, metrische gegevens te registreren en uitvoer van de proefversie op te slaan, en om resultaten te analyseren en toegang te krijgen tot artefacten die door de proefversie zijn gegenereerd.
Uitvoeren wordt gebruikt in uw experimentcode om metrische gegevens en artefacten te registreren bij de service Uitvoeringsgeschiedenis.
Uitvoeren wordt buiten uw experimenten gebruikt om de voortgang te bewaken en om query's uit te voeren op de metrische gegevens en resultaten die zijn gegenereerd.
De functionaliteit van Uitvoeren omvat:
Metrische gegevens en gegevens opslaan en ophalen
Bestanden uploaden en downloaden
Tags en de onderliggende hiërarchie gebruiken voor het eenvoudig opzoeken van eerdere uitvoeringen
Opgeslagen modelbestanden registreren als een model dat kan worden geoperationaliseerd
Eigenschappen van een uitvoering opslaan, wijzigen en ophalen
De huidige uitvoering laden vanuit een externe omgeving met de get_context methode
Efficiënt momentopnamen maken van een bestand of map voor reproduceerbaarheid
Deze klasse werkt met de in deze Experiment scenario's:
Een uitvoering maken door code uit te voeren met behulp van submit
Interactief een uitvoering maken in een notebook met behulp van start_logging
Metrische gegevens vastleggen en artefacten uploaden in uw experiment, bijvoorbeeld bij gebruik van log
Metrische gegevens lezen en artefacten downloaden bij het analyseren van experimentele resultaten, zoals bij het gebruik van get_metrics
Als u een uitvoering wilt verzenden, maakt u een configuratieobject dat beschrijft hoe het experiment wordt uitgevoerd. Hier volgen voorbeelden van de verschillende configuratieobjecten die u kunt gebruiken:
azureml.train.automl.automlconfig.AutoMLConfig
azureml.train.hyperdrive.HyperDriveConfig
azureml.pipeline.core.Pipeline
azureml.pipeline.core.PublishedPipeline
azureml.pipeline.core.PipelineEndpoint
De volgende metrische gegevens kunnen worden toegevoegd aan een uitvoering tijdens het trainen van een experiment.
Scalaire
Registreer een numerieke waarde of tekenreekswaarde bij de uitvoering met de opgegeven naam met behulp van log. Als u een metrische waarde bij een uitvoering registreert, wordt deze metrische waarde opgeslagen in de uitvoeringsrecord in het experiment. U kunt dezelfde metrische gegevens meerdere keren binnen een uitvoering registreren, waarbij het resultaat wordt beschouwd als een vector van die metrische waarde.
Voorbeeld:
run.log("accuracy", 0.95)
Lijst
Registreer een lijst met waarden bij de uitvoering met de opgegeven naam met behulp van log_list.
Voorbeeld:
run.log_list("accuracies", [0.6, 0.7, 0.87])
Rij
Met behulp log_row van maakt u een metrische waarde met meerdere kolommen, zoals beschreven in
kwargs
. Elke benoemde parameter genereert een kolom met de opgegeven waarde.log_row
kan eenmaal worden aangeroepen om een willekeurige tuple te registreren of meerdere keren in een lus om een volledige tabel te genereren.Voorbeeld:
run.log_row("Y over X", x=1, y=0.4)
Tabel
Registreer een woordenlijstobject bij de uitvoering met de opgegeven naam met behulp van log_table.
Voorbeeld:
run.log_table("Y over X", {"x":[1, 2, 3], "y":[0.6, 0.7, 0.89]})
Installatiekopie
Meld een installatiekopieën aan bij de uitvoeringsrecord. Gebruik log_image om een afbeeldingsbestand of een matplotlib-plot vast te leggen bij de uitvoering. Deze afbeeldingen zijn zichtbaar en vergelijkbaar in de uitvoeringsrecord.
Voorbeeld:
run.log_image("ROC", path)
Methoden
add_properties |
Onveranderbare eigenschappen toevoegen aan de uitvoering. Tags en eigenschappen (beide dict[str, str]) verschillen in hun veranderlijkheid. Eigenschappen zijn onveranderbaar, dus ze maken een permanente record voor controledoeleinden. Tags zijn veranderlijk. Zie Uitvoeringen taggen en zoeken voor meer informatie over het werken met tags en eigenschappen. |
add_type_provider |
Uitbreidbaarheidshook voor aangepaste uitvoeringstypen die zijn opgeslagen in Uitvoeringsgeschiedenis. |
cancel |
Markeer de uitvoering als geannuleerd. Als er een gekoppelde taak is met een ingestelde cancel_uri veld, beëindigt u die taak ook. |
child_run |
Een onderliggende uitvoering maken. |
clean |
Verwijder de bestanden die overeenkomen met de huidige uitvoering op het doel dat is opgegeven in de uitvoeringsconfiguratie. |
complete |
Wacht totdat de taakwachtrij is verwerkt. Vervolgens wordt uitvoeren gemarkeerd als voltooid. Dit wordt doorgaans gebruikt in interactieve notebookscenario's. |
create_children |
Maak een of meer onderliggende uitvoeringen. |
download_file |
Download een gekoppeld bestand uit de opslag. |
download_files |
Download bestanden van een bepaald opslagvoorvoegsel (mapnaam) of de hele container als het voorvoegsel niet is opgegeven. |
fail |
Markeer de uitvoering als mislukt. Stel eventueel de eigenschap Error van de uitvoering in met een bericht of uitzondering die is doorgegeven aan |
flush |
Wacht totdat de taakwachtrij is verwerkt. |
get |
Haal de uitvoering voor deze werkruimte op met de uitvoerings-id. |
get_all_logs |
Download alle logboeken voor de uitvoering naar een map. |
get_children |
Haal alle onderliggende items op voor de huidige uitvoering die is geselecteerd door opgegeven filters. |
get_context |
Huidige servicecontext retourneren. Gebruik deze methode om de huidige servicecontext op te halen voor het vastleggen van metrische gegevens en het uploaden van bestanden. Als |
get_detailed_status |
Haal de meest recente status van de uitvoering op. Als de status van de uitvoering 'In wachtrij' is, worden de details weergegeven. |
get_details |
Haal de definitie, statusinformatie, huidige logboekbestanden en andere details van de uitvoering op. |
get_details_with_logs |
Retourneer de uitvoeringsstatus, inclusief de inhoud van het logboekbestand. |
get_environment |
Haal de omgevingsdefinitie op die door deze uitvoering is gebruikt. |
get_file_names |
Vermeld de bestanden die zijn opgeslagen in verband met de uitvoering. |
get_metrics |
Haal de metrische gegevens op die zijn vastgelegd in de uitvoering. Als |
get_properties |
Haal de meest recente eigenschappen van de uitvoering op uit de service. |
get_secret |
Haal de geheime waarde op uit de context van een uitvoering. Haal de geheime waarde op voor de opgegeven naam. De geheime naam verwijst naar een waarde die is opgeslagen in Azure Key Vault die is gekoppeld aan uw werkruimte. Zie Geheimen gebruiken in trainingsuitvoeringen voor een voorbeeld van het werken met geheimen. |
get_secrets |
Haal de geheime waarden op voor een bepaalde lijst met geheime namen. Haal een woordenlijst op met gevonden en niet-gevonden geheimen voor de opgegeven lijst met namen. Elke geheime naam verwijst naar een waarde die is opgeslagen in Azure Key Vault die is gekoppeld aan uw werkruimte. Zie Geheimen gebruiken in trainingsuitvoeringen voor een voorbeeld van het werken met geheimen. |
get_snapshot_id |
Haal de meest recente momentopname-id op. |
get_status |
Haal de meest recente status van de uitvoering op. Veelvoorkomende geretourneerde waarden zijn 'Wordt uitgevoerd', 'Voltooid' en 'Mislukt'. |
get_submitted_run |
AFGEKEURD. Gebruik get_context. Haal de ingediende uitvoering voor dit experiment op. |
get_tags |
Haal de meest recente set veranderlijke tags op van de uitvoering van de service. |
list |
Haal een lijst op met uitvoeringen in een experiment dat is opgegeven door optionele filters. |
list_by_compute |
Haal een lijst op met uitvoeringen in een berekening die is opgegeven door optionele filters. |
log |
Registreer een metrische waarde bij de uitvoering met de opgegeven naam. |
log_accuracy_table |
Registreer een nauwkeurigheidstabel in het artefactarchief. De metrische waarde voor de nauwkeurigheidstabel is een niet-scalaire metrische waarde voor meerdere toepassingen die kan worden gebruikt voor het produceren van meerdere typen lijndiagrammen die continu variëren over de ruimte van voorspelde waarschijnlijkheden. Voorbeelden van deze grafieken zijn ROC, precision-recall en lift curves. De berekening van de nauwkeurigheidstabel is vergelijkbaar met de berekening van een ROC-curve. Een ROC-curve slaat true-positieve percentages en fout-positieve percentages op bij veel verschillende waarschijnlijkheidsdrempels. In de nauwkeurigheidstabel wordt het onbewerkte aantal terecht-positieven, fout-positieven, terecht-negatieven en fout-negatieven opgeslagen tegen veel waarschijnlijkheidsdrempels. Er worden twee methoden gebruikt voor het selecteren van drempelwaarden: 'waarschijnlijkheid' en 'percentiel'. Ze verschillen in de wijze waarop ze een steekproef nemen van de ruimte van voorspelde waarschijnlijkheden. Waarschijnlijkheidsdrempels zijn gelijkmatig verdeelde drempelwaarden tussen 0 en 1. Als NUM_POINTS 5 is, zijn de waarschijnlijkheidsdrempels [0,0, 0,25, 0,5, 0,75, 1,0]. Percentieldrempels worden gespreid op basis van de verdeling van voorspelde waarschijnlijkheden. Elke drempelwaarde komt overeen met het percentiel van de gegevens bij een waarschijnlijkheidsdrempelwaarde. Als NUM_POINTS bijvoorbeeld 5 is, ligt de eerste drempelwaarde op het 0e percentiel, de tweede op het 25e percentiel, de derde op de 50e, enzovoort. De kanstabellen en percentieltabellen zijn beide 3D-lijsten, waarbij de eerste dimensie het klasselabel vertegenwoordigt, de tweede dimensie de steekproef vertegenwoordigt op één drempelwaarde (schaalt met NUM_POINTS) en de derde dimensie altijd 4 waarden heeft: TP, FP, TN, FN en altijd in die volgorde. De verwarringswaarden (TP, FP, TN, FN) worden berekend met de één versus rest-strategie. Zie de volgende koppeling voor meer informatie: https://en.wikipedia.org/wiki/Multiclass_classification N = aantal voorbeelden in validatiegegevensset (200 in voorbeeld) M = # drempelwaarden = # steekproeven uit de waarschijnlijkheidsruimte (5 in voorbeeld) C = # klassen in volledige gegevensset (3 in voorbeeld) Enkele invarianten van de nauwkeurigheidstabel:
Opmerking: M kan elke waarde zijn en bepaalt de resolutie van de grafieken Dit is onafhankelijk van de gegevensset, wordt gedefinieerd bij het berekenen van metrische gegevens en maakt gebruik van opslagruimte, rekentijd en resolutie. Klasselabels moeten tekenreeksen zijn, verwarringswaarden moeten gehele getallen zijn en drempelwaarden moeten zwevende waarden zijn. |
log_confusion_matrix |
Registreer een verwarringsmatrix in het artefactarchief. Hiermee wordt een wrapper rond de sklearn-verwarringsmatrix gelogd. De metrische gegevens bevatten de klasselabels en een 2D-lijst voor de matrix zelf. Zie de volgende koppeling voor meer informatie over hoe de metrische gegevens worden berekend: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html |
log_image |
Een metrische afbeelding registreren in de uitvoeringsrecord. |
log_list |
Registreer een lijst met metrische waarden bij de uitvoering met de opgegeven naam. |
log_predictions |
Logboekvoorspellingen in het artefactarchief. Hiermee wordt een metrische score geregistreerd die kan worden gebruikt om de distributies van werkelijke doelwaarden te vergelijken met de distributie van voorspelde waarden voor een regressietaak. De voorspellingen zijn binned en standaarddeviaties worden berekend voor foutbalken in een lijndiagram. |
log_residuals |
Log residuen in het artefactarchief. Hiermee worden de gegevens die nodig zijn voor het weergeven van een histogram van residuen voor een regressietaak, in een logboek opgeslagen. De residuen worden voorspeld- werkelijk. Er moet één rand meer zijn dan het aantal aantallen. Raadpleeg de documentatie over het numpy-histogram voor voorbeelden van het gebruik van aantallen en randen om een histogram weer te geven. https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html |
log_row |
Registreer een rijmetriek bij de uitvoering met de opgegeven naam. |
log_table |
Registreer een metrische tabelwaarde bij de uitvoering met de opgegeven naam. |
register_model |
Een model registreren voor operationalisatie. |
remove_tags |
Verwijder de lijst met veranderlijke tags tijdens deze uitvoering. |
restore_snapshot |
Een momentopname herstellen als een ZIP-bestand. Retourneert het pad naar het ZIP-bestand. |
set_tags |
Voeg een set tags toe of wijzig deze tijdens de uitvoering. Tags die niet worden doorgegeven in de woordenlijst, blijven ongewijzigd. U kunt ook eenvoudige tekenreekstags toevoegen. Wanneer deze tags als sleutels in de tagwoordenlijst worden weergegeven, hebben ze de waarde Geen. Zie Uitvoeringen taggen en zoeken voor meer informatie. |
start |
Markeer de uitvoering als gestart. Dit wordt meestal gebruikt in geavanceerde scenario's wanneer de uitvoering is gemaakt door een andere actor. |
submit_child |
Dien een experiment in en retourneer de actieve onderliggende uitvoering. |
tag |
Tag de uitvoering met een tekenreekssleutel en optionele tekenreekswaarde. |
take_snapshot |
Sla een momentopname van het invoerbestand of de invoermap op. |
upload_file |
Upload een bestand naar de uitvoeringsrecord. |
upload_files |
Bestanden uploaden naar de uitvoeringsrecord. |
upload_folder |
Upload de opgegeven map naar de opgegeven voorvoegselnaam. |
wait_for_completion |
Wacht tot de uitvoering is voltooid. Retourneert het statusobject na de wachttijd. |
add_properties
Onveranderbare eigenschappen toevoegen aan de uitvoering.
Tags en eigenschappen (beide dict[str, str]) verschillen in hun veranderlijkheid. Eigenschappen zijn onveranderbaar, dus ze maken een permanente record voor controledoeleinden. Tags zijn veranderlijk. Zie Uitvoeringen taggen en zoeken voor meer informatie over het werken met tags en eigenschappen.
add_properties(properties)
Parameters
Name | Description |
---|---|
properties
Vereist
|
De verborgen eigenschappen die zijn opgeslagen in het run-object. |
add_type_provider
Uitbreidbaarheidshook voor aangepaste uitvoeringstypen die zijn opgeslagen in Uitvoeringsgeschiedenis.
static add_type_provider(runtype, run_factory)
Parameters
Name | Description |
---|---|
runtype
Vereist
|
De waarde van Run.type waarvoor de factory wordt aangeroepen. Voorbeelden zijn 'hyperdrive' of 'azureml.scriptrun', maar deze kunnen worden uitgebreid met aangepaste typen. |
run_factory
Vereist
|
<xref:function>
Een functie met handtekening (Experiment, RunDto):> voer uit om te worden aangeroepen bij het weergeven van uitvoeringen. |
cancel
Markeer de uitvoering als geannuleerd.
Als er een gekoppelde taak is met een ingestelde cancel_uri veld, beëindigt u die taak ook.
cancel()
child_run
Een onderliggende uitvoering maken.
child_run(name=None, run_id=None, outputs=None)
Parameters
Name | Description |
---|---|
name
|
Een optionele naam voor de onderliggende uitvoering, meestal opgegeven voor een 'onderdeel'. Default value: None
|
run_id
|
Een optionele uitvoerings-id voor het onderliggende item, anders wordt deze automatisch gegenereerd. Deze parameter is doorgaans niet ingesteld. Default value: None
|
outputs
|
Optionele uitvoermap die moet worden bijgehouden voor het onderliggende item. Default value: None
|
Retouren
Type | Description |
---|---|
Het kind wordt uitgevoerd. |
Opmerkingen
Dit wordt gebruikt om een deel van een run te isoleren in een subsectie. Dit kan worden gedaan voor identificeerbare 'onderdelen' van een uitvoering die interessant zijn om te scheiden of om onafhankelijke metrische gegevens vast te leggen in een interatie van een subproces.
Als een uitvoermap is ingesteld voor de onderliggende uitvoering, wordt de inhoud van die map geüpload naar de onderliggende uitvoeringsrecord wanneer het onderliggende item is voltooid.
clean
Verwijder de bestanden die overeenkomen met de huidige uitvoering op het doel dat is opgegeven in de uitvoeringsconfiguratie.
clean()
Retouren
Type | Description |
---|---|
Een lijst met verwijderde bestanden. |
complete
Wacht totdat de taakwachtrij is verwerkt.
Vervolgens wordt uitvoeren gemarkeerd als voltooid. Dit wordt doorgaans gebruikt in interactieve notebookscenario's.
complete(_set_status=True)
Parameters
Name | Description |
---|---|
_set_status
|
Geeft aan of de status-gebeurtenis voor het bijhouden moet worden verzonden. Default value: True
|
create_children
Maak een of meer onderliggende uitvoeringen.
create_children(count=None, tag_key=None, tag_values=None)
Parameters
Name | Description |
---|---|
count
|
Een optioneel aantal onderliggende items dat moet worden gemaakt. Default value: None
|
tag_key
|
Een optionele sleutel voor het invullen van de vermelding Tags in alle gemaakte onderliggende items. Default value: None
|
tag_Values
Vereist
|
Een optionele lijst met waarden die worden toegewezen aan Tags[tag_key] voor de lijst met gemaakte uitvoeringen. |
tag_values
|
Default value: None
|
Retouren
Type | Description |
---|---|
De lijst met onderliggende uitvoeringen. |
Opmerkingen
count
Parameter OF parameters tag_key
AND tag_values
moeten worden opgegeven.
download_file
Download een gekoppeld bestand uit de opslag.
download_file(name, output_file_path=None, _validate_checksum=False)
Parameters
Name | Description |
---|---|
name
Vereist
|
De naam van het artefact dat moet worden gedownload. |
output_file_path
Vereist
|
Het lokale pad waar het artefact moet worden opgeslagen. |
download_files
Download bestanden van een bepaald opslagvoorvoegsel (mapnaam) of de hele container als het voorvoegsel niet is opgegeven.
download_files(prefix=None, output_directory=None, output_paths=None, batch_size=100, append_prefix=True, timeout_seconds=None)
Parameters
Name | Description |
---|---|
prefix
Vereist
|
Het bestandspadvoorvoegsel in de container waaruit alle artefacten moeten worden gedownload. |
output_directory
Vereist
|
Een optionele map die alle artefactpaden als voorvoegsel gebruiken. |
output_paths
Vereist
|
[str]
Optionele bestandspaden waarin de gedownloade artefacten moeten worden opgeslagen. Moet uniek zijn en overeenkomen met de lengte van paden. |
batch_size
Vereist
|
Het aantal bestanden dat per batch moet worden gedownload. De standaardwaarde is 100 bestanden. |
append_prefix
Vereist
|
Een optionele vlag of het opgegeven voorvoegsel van het uiteindelijke uitvoerbestandspad moet worden toegevoegd. Als onwaar is, wordt het voorvoegsel verwijderd uit het pad naar het uitvoerbestand. |
timeout_seconds
Vereist
|
De time-out voor het downloaden van bestanden. |
fail
Markeer de uitvoering als mislukt.
Stel eventueel de eigenschap Error van de uitvoering in met een bericht of uitzondering die is doorgegeven aan error_details
.
fail(error_details=None, error_code=None, _set_status=True)
Parameters
Name | Description |
---|---|
error_details
|
str of
BaseException
Optionele details van de fout. Default value: None
|
error_code
|
Optionele foutcode van de fout voor de foutclassificatie. Default value: None
|
_set_status
|
Hiermee wordt aangegeven of de status-gebeurtenis voor het bijhouden moet worden verzonden. Default value: True
|
flush
Wacht totdat de taakwachtrij is verwerkt.
flush(timeout_seconds=300)
Parameters
Name | Description |
---|---|
timeout_seconds
|
Hoe lang moet worden gewacht (in seconden) voordat de taakwachtrij wordt verwerkt. Default value: 300
|
get
Haal de uitvoering voor deze werkruimte op met de uitvoerings-id.
static get(workspace, run_id)
Parameters
Name | Description |
---|---|
workspace
Vereist
|
De werkruimte met daarin. |
run_id
Vereist
|
De uitvoerings-id. |
Retouren
Type | Description |
---|---|
De verzonden uitvoering. |
get_all_logs
Download alle logboeken voor de uitvoering naar een map.
get_all_logs(destination=None)
Parameters
Name | Description |
---|---|
destination
|
Het doelpad voor het opslaan van logboeken. Als dit niet wordt opgegeven, wordt een map met de naam als de uitvoerings-id gemaakt in de projectmap. Default value: None
|
Retouren
Type | Description |
---|---|
Een lijst met namen van gedownloade logboeken. |
get_children
Haal alle onderliggende items op voor de huidige uitvoering die is geselecteerd door opgegeven filters.
get_children(recursive=False, tags=None, properties=None, type=None, status=None, _rehydrate_runs=True)
Parameters
Name | Description |
---|---|
recursive
|
Geeft aan of alle afstammelingen moeten worden herhaald. Default value: False
|
tags
|
Indien opgegeven, retourneert deze uitvoeringen die overeenkomen met de opgegeven tag of {"tag": "value"}. Default value: None
|
properties
|
Indien opgegeven, retourneert deze uitvoeringen die overeenkomen met de opgegeven 'eigenschap' of {'property': 'value'}. Default value: None
|
type
|
Indien opgegeven, retourneert uitvoeringen die overeenkomen met dit type. Default value: None
|
status
|
Indien opgegeven, worden uitvoeringen geretourneerd met de status opgegeven 'status'. Default value: None
|
_rehydrate_runs
|
Geeft aan of een uitvoering van het oorspronkelijke type of de basisuitvoering moet worden geïnstitueren. Default value: True
|
Retouren
Type | Description |
---|---|
Een lijst met Run objecten. |
get_context
Huidige servicecontext retourneren.
Gebruik deze methode om de huidige servicecontext op te halen voor het vastleggen van metrische gegevens en het uploaden van bestanden. Als allow_offline
True (de standaardinstelling) is, worden acties tegen het object Uitvoeren afgedrukt om standaard te worden weergegeven.
get_context(allow_offline=True, used_for_context_manager=False, **kwargs)
Parameters
Name | Description |
---|---|
cls
Vereist
|
Geeft de klassemethode aan. |
allow_offline
|
Sta toe dat de servicecontext terugvalt naar de offlinemodus, zodat het trainingsscript lokaal kan worden getest zonder een taak met de SDK te verzenden. Standaard waar. Default value: True
|
kwargs
Vereist
|
Een woordenlijst met aanvullende parameters. |
used_for_context_manager
|
Default value: False
|
Retouren
Type | Description |
---|---|
De verzonden uitvoering. |
Opmerkingen
Deze functie wordt vaak gebruikt voor het ophalen van het geverifieerde Run-object in een script dat moet worden verzonden voor uitvoering via experiment.submit(). Dit uitvoeringsobject is zowel een geverifieerde context voor communicatie met Azure Machine Learning-services als een conceptuele container waarin metrische gegevens, bestanden (artefacten) en modellen zijn opgenomen.
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
Haal de meest recente status van de uitvoering op. Als de status van de uitvoering 'In wachtrij' is, worden de details weergegeven.
get_detailed_status()
Retouren
Type | Description |
---|---|
De meest recente status en details |
Opmerkingen
status: de huidige status van de uitvoering. Dezelfde waarde als de waarde die wordt geretourneerd door get_status().
details: de gedetailleerde informatie voor de huidige 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
Haal de definitie, statusinformatie, huidige logboekbestanden en andere details van de uitvoering op.
get_details()
Retouren
Type | Description |
---|---|
De details voor de uitvoering retourneren |
Opmerkingen
De geretourneerde woordenlijst bevat de volgende sleutel-waardeparen:
runId: id van deze uitvoering.
Doel
status: de huidige status van de uitvoering. Dezelfde waarde als de waarde die wordt geretourneerd door get_status().
startTimeUtc: UTC-tijd waarop deze uitvoering is gestart, in ISO8601.
endTimeUtc: UTC-tijd waarop deze uitvoering is voltooid (voltooid of mislukt), in ISO8601.
Deze sleutel bestaat niet als de uitvoering nog wordt uitgevoerd.
eigenschappen: onveranderbare sleutel-waardeparen die aan de uitvoering zijn gekoppeld. Standaardeigenschappen omvatten de momentopname-id van de uitvoering en informatie over de Git-opslagplaats op basis waarvan de uitvoering is gemaakt (indien aanwezig). Aanvullende eigenschappen kunnen worden toegevoegd aan een uitvoering met behulp van add_properties.
inputDatasets: invoergegevenssets die zijn gekoppeld aan de uitvoering.
outputDatasets: uitvoergegevenssets die zijn gekoppeld aan de uitvoering.
Logbestanden
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
Retourneer de uitvoeringsstatus, inclusief de inhoud van het logboekbestand.
get_details_with_logs()
Retouren
Type | Description |
---|---|
Retourneert de status voor de uitvoering met de inhoud van het logboekbestand. |
get_environment
Haal de omgevingsdefinitie op die door deze uitvoering is gebruikt.
get_environment()
Retouren
Type | Description |
---|---|
Retourneer het omgevingsobject. |
get_file_names
Vermeld de bestanden die zijn opgeslagen in verband met de uitvoering.
get_file_names()
Retouren
Type | Description |
---|---|
De lijst met paden voor bestaande artefacten |
get_metrics
Haal de metrische gegevens op die zijn vastgelegd in de uitvoering.
Als recursive
waar is (standaard onwaar), haalt u metrische gegevens op voor uitvoeringen in de substructuur van de opgegeven uitvoering.
get_metrics(name=None, recursive=False, run_type=None, populate=False)
Parameters
Name | Description |
---|---|
name
|
De naam van de metrische waarde. Default value: None
|
recursive
|
Geeft aan of alle afstammelingen moeten worden herhaald. Default value: False
|
run_type
|
Default value: None
|
populate
|
Hiermee wordt aangegeven of de inhoud van externe gegevens moet worden opgehaald die zijn gekoppeld aan de metrische waarde. Default value: False
|
Retouren
Type | Description |
---|---|
Een woordenlijst met de metrische gegevens van gebruikers. |
Opmerkingen
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
Haal de meest recente eigenschappen van de uitvoering op uit de service.
get_properties()
Retouren
Type | Description |
---|---|
De eigenschappen van de uitvoering. |
Opmerkingen
Eigenschappen zijn onveranderbare door het systeem gegenereerde informatie, zoals duur, datum van uitvoering, gebruiker en aangepaste eigenschappen die met de add_properties methode zijn toegevoegd. Zie Uitvoeringen taggen en zoeken voor meer informatie.
Wanneer u een taak verzendt naar Azure Machine Learning en bronbestanden worden opgeslagen in een lokale Git-opslagplaats, wordt informatie over de opslagplaats opgeslagen als eigenschappen. Deze git-eigenschappen worden toegevoegd bij het maken van een uitvoering of het aanroepen van Experiment.submit. Zie Git-integratie voor Azure Machine Learning voor meer informatie over Git-eigenschappen.
get_secret
Haal de geheime waarde op uit de context van een uitvoering.
Haal de geheime waarde op voor de opgegeven naam. De geheime naam verwijst naar een waarde die is opgeslagen in Azure Key Vault die is gekoppeld aan uw werkruimte. Zie Geheimen gebruiken in trainingsuitvoeringen voor een voorbeeld van het werken met geheimen.
get_secret(name)
Parameters
Name | Description |
---|---|
name
Vereist
|
De naam van het geheim waarvoor een geheim moet worden geretourneerd. |
Retouren
Type | Description |
---|---|
De geheime waarde. |
get_secrets
Haal de geheime waarden op voor een bepaalde lijst met geheime namen.
Haal een woordenlijst op met gevonden en niet-gevonden geheimen voor de opgegeven lijst met namen. Elke geheime naam verwijst naar een waarde die is opgeslagen in Azure Key Vault die is gekoppeld aan uw werkruimte. Zie Geheimen gebruiken in trainingsuitvoeringen voor een voorbeeld van het werken met geheimen.
get_secrets(secrets)
Parameters
Name | Description |
---|---|
secrets
Vereist
|
Een lijst met geheime namen waarvoor geheime waarden moeten worden geretourneerd. |
Retouren
Type | Description |
---|---|
Retourneert een woordenlijst met gevonden en niet-gevonden geheimen. |
get_snapshot_id
Haal de meest recente momentopname-id op.
get_snapshot_id()
Retouren
Type | Description |
---|---|
De meest recente momentopname-id. |
get_status
Haal de meest recente status van de uitvoering op.
Veelvoorkomende geretourneerde waarden zijn 'Wordt uitgevoerd', 'Voltooid' en 'Mislukt'.
get_status()
Retouren
Type | Description |
---|---|
De meest recente status. |
Opmerkingen
NotStarted: dit is een tijdelijke status van uitvoeringsobjecten aan de clientzijde vóór verzending in de cloud.
Starten: de uitvoering wordt verwerkt in de cloud. De aanroeper heeft op dit moment een uitvoerings-id.
Inrichting: wordt geretourneerd wanneer er rekenproces op aanvraag wordt gemaakt voor een bepaalde taakverzending.
Voorbereiden: de uitvoeringsomgeving wordt voorbereid:
docker-installatiekopieën bouwen
conda-omgeving instellen
In wachtrij: de taak wordt in de wachtrij geplaatst in het rekendoel. In BatchAI bevindt de taak zich bijvoorbeeld in de wachtrijstatus
terwijl u wacht tot alle aangevraagde knooppunten gereed zijn.
Uitvoeren: de taak wordt uitgevoerd in het rekendoel.
Voltooien: de gebruikerscode is voltooid en de uitvoering bevindt zich in de naverwerkingsfasen.
CancelRequested: annulering is aangevraagd voor de taak.
Voltooid: de uitvoering is voltooid. Dit omvat zowel de gebruikerscode als de uitvoering
naverwerkingsfasen.
Mislukt: de uitvoering is mislukt. Meestal geeft de eigenschap Error bij een uitvoering details over de reden.
Geannuleerd: volgt een annuleringsaanvraag en geeft aan dat de uitvoering nu is geannuleerd.
Reageert niet: voor uitvoeringen waarvoor heartbeats zijn ingeschakeld, is er onlangs geen heartbeat verzonden.
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
AFGEKEURD. Gebruik get_context.
Haal de ingediende uitvoering voor dit experiment op.
get_submitted_run(**kwargs)
Retouren
Type | Description |
---|---|
De verzonden uitvoering. |
get_tags
Haal de meest recente set veranderlijke tags op van de uitvoering van de service.
get_tags()
Retouren
Type | Description |
---|---|
De tags die zijn opgeslagen in het uitvoeringsobject. |
list
Haal een lijst op met uitvoeringen in een experiment dat is opgegeven door optionele filters.
static list(experiment, type=None, tags=None, properties=None, status=None, include_children=False, _rehydrate_runs=True)
Parameters
Name | Description |
---|---|
experiment
Vereist
|
Het bevattende experiment. |
type
|
Indien opgegeven, retourneert uitvoeringen die overeenkomen met het opgegeven type. Default value: None
|
tags
|
Indien opgegeven, retourneert deze uitvoeringen die overeenkomen met de opgegeven tag of {"tag": "value"}. Default value: None
|
properties
|
Indien opgegeven, retourneert deze uitvoeringen die overeenkomen met de opgegeven 'eigenschap' of {'property': 'value'}. Default value: None
|
status
|
Indien opgegeven, worden uitvoeringen geretourneerd met de status opgegeven 'status'. Default value: None
|
include_children
|
Als deze optie is ingesteld op true, haalt u alle uitvoeringen op, niet alleen de uitvoeringen op het hoogste niveau. Default value: False
|
_rehydrate_runs
|
Als dit is ingesteld op Waar (standaard), wordt de geregistreerde provider gebruikt om een object voor dat type opnieuw te maken in plaats van de basisuitvoering. Default value: True
|
Retouren
Type | Description |
---|---|
Een lijst met uitvoeringen. |
Opmerkingen
In het volgende codevoorbeeld ziet u enkele toepassingen van de list
methode.
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
Haal een lijst op met uitvoeringen in een berekening die is opgegeven door optionele filters.
static list_by_compute(compute, type=None, tags=None, properties=None, status=None)
Parameters
Name | Description |
---|---|
compute
Vereist
|
De bevattende berekening. |
type
|
Indien opgegeven, retourneert uitvoeringen die overeenkomen met het opgegeven type. Default value: None
|
tags
|
Indien opgegeven, retourneert deze uitvoeringen die overeenkomen met de opgegeven tag of {"tag": "value"}. Default value: None
|
properties
|
Indien opgegeven, retourneert deze uitvoeringen die overeenkomen met de opgegeven 'eigenschap' of {'property': 'value'}. Default value: None
|
status
|
Indien opgegeven, worden uitvoeringen geretourneerd met de status opgegeven 'status'. Alleen toegestane waarden zijn 'Actief' en 'In wachtrij'. Default value: None
|
Retouren
Type | Description |
---|---|
<xref:builtin.generator>
|
een generator van ~_restclient.models.RunDto |
log
Registreer een metrische waarde bij de uitvoering met de opgegeven naam.
log(name, value, description='', step=None)
Parameters
Name | Description |
---|---|
name
Vereist
|
De naam van de metrische waarde. |
value
Vereist
|
De waarde die naar de service moet worden geboekt. |
description
Vereist
|
Een optionele beschrijving van metrische gegevens. |
step
|
Een optionele as om de waardevolgorde binnen een metrische waarde op te geven. Default value: None
|
Opmerkingen
Als u een metrische waarde bij een uitvoering registreert, wordt die metrische waarde opgeslagen in de uitvoeringsrecord in het experiment. U kunt dezelfde metrische waarde meerdere keren binnen een uitvoering vastleggen, waarbij het resultaat wordt beschouwd als een vector van die metrische waarde. Als stap is opgegeven voor een metrische waarde, moet deze worden opgegeven voor alle waarden.
log_accuracy_table
Registreer een nauwkeurigheidstabel in het artefactarchief.
De metrische waarde voor de nauwkeurigheidstabel is een niet-scalaire metrische waarde voor meerdere toepassingen die kan worden gebruikt voor het produceren van meerdere typen lijndiagrammen die continu variëren over de ruimte van voorspelde waarschijnlijkheden. Voorbeelden van deze grafieken zijn ROC, precision-recall en lift curves.
De berekening van de nauwkeurigheidstabel is vergelijkbaar met de berekening van een ROC-curve. Een ROC-curve slaat true-positieve percentages en fout-positieve percentages op bij veel verschillende waarschijnlijkheidsdrempels. In de nauwkeurigheidstabel wordt het onbewerkte aantal terecht-positieven, fout-positieven, terecht-negatieven en fout-negatieven opgeslagen tegen veel waarschijnlijkheidsdrempels.
Er worden twee methoden gebruikt voor het selecteren van drempelwaarden: 'waarschijnlijkheid' en 'percentiel'. Ze verschillen in de wijze waarop ze een steekproef nemen van de ruimte van voorspelde waarschijnlijkheden.
Waarschijnlijkheidsdrempels zijn gelijkmatig verdeelde drempelwaarden tussen 0 en 1. Als NUM_POINTS 5 is, zijn de waarschijnlijkheidsdrempels [0,0, 0,25, 0,5, 0,75, 1,0].
Percentieldrempels worden gespreid op basis van de verdeling van voorspelde waarschijnlijkheden. Elke drempelwaarde komt overeen met het percentiel van de gegevens bij een waarschijnlijkheidsdrempelwaarde. Als NUM_POINTS bijvoorbeeld 5 is, ligt de eerste drempelwaarde op het 0e percentiel, de tweede op het 25e percentiel, de derde op de 50e, enzovoort.
De kanstabellen en percentieltabellen zijn beide 3D-lijsten, waarbij de eerste dimensie het klasselabel vertegenwoordigt, de tweede dimensie de steekproef vertegenwoordigt op één drempelwaarde (schaalt met NUM_POINTS) en de derde dimensie altijd 4 waarden heeft: TP, FP, TN, FN en altijd in die volgorde.
De verwarringswaarden (TP, FP, TN, FN) worden berekend met de één versus rest-strategie. Zie de volgende koppeling voor meer informatie: https://en.wikipedia.org/wiki/Multiclass_classification
N = aantal voorbeelden in validatiegegevensset (200 in voorbeeld) M = # drempelwaarden = # steekproeven uit de waarschijnlijkheidsruimte (5 in voorbeeld) C = # klassen in volledige gegevensset (3 in voorbeeld)
Enkele invarianten van de nauwkeurigheidstabel:
- TP + FP + TN + FN = N voor alle drempelwaarden voor alle klassen
- TP + FN is hetzelfde bij alle drempelwaarden voor elke klasse
- TN + FP is hetzelfde bij alle drempelwaarden voor elke klasse
- Waarschijnlijkheidstabellen en percentieltabellen hebben vorm [C, M, 4]
Opmerking: M kan elke waarde zijn en bepaalt de resolutie van de grafieken Dit is onafhankelijk van de gegevensset, wordt gedefinieerd bij het berekenen van metrische gegevens en maakt gebruik van opslagruimte, rekentijd en resolutie.
Klasselabels moeten tekenreeksen zijn, verwarringswaarden moeten gehele getallen zijn en drempelwaarden moeten zwevende waarden zijn.
log_accuracy_table(name, value, description='')
Parameters
Name | Description |
---|---|
name
Vereist
|
De naam van de nauwkeurigheidstabel. |
value
Vereist
|
JSON met naam, versie en gegevenseigenschappen. |
description
Vereist
|
Een optionele beschrijving van metrische gegevens. |
Opmerkingen
Voorbeeld van een geldige JSON-waarde:
{
"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
Registreer een verwarringsmatrix in het artefactarchief.
Hiermee wordt een wrapper rond de sklearn-verwarringsmatrix gelogd. De metrische gegevens bevatten de klasselabels en een 2D-lijst voor de matrix zelf. Zie de volgende koppeling voor meer informatie over hoe de metrische gegevens worden berekend: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html
log_confusion_matrix(name, value, description='')
Parameters
Name | Description |
---|---|
name
Vereist
|
De naam van de verwarringsmatrix. |
value
Vereist
|
JSON met naam, versie en gegevenseigenschappen. |
description
Vereist
|
Een optionele beschrijving van metrische gegevens. |
Opmerkingen
Voorbeeld van een geldige JSON-waarde:
{
"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
Een metrische afbeelding registreren in de uitvoeringsrecord.
log_image(name, path=None, plot=None, description='')
Parameters
Name | Description |
---|---|
name
Vereist
|
De naam van de metrische waarde. |
path
Vereist
|
Het pad of de stroom van de afbeelding. |
plot
Vereist
|
<xref:matplotlib.pyplot>
De plot die moet worden opgenomen als een afbeelding. |
description
Vereist
|
Een optionele beschrijving van metrische gegevens. |
Opmerkingen
Gebruik deze methode om een afbeeldingsbestand of een matplotlib-plot aan de uitvoering vast te leggen. Deze installatiekopieën zijn zichtbaar en vergelijkbaar in de uitvoeringsrecord.
log_list
Registreer een lijst met metrische waarden bij de uitvoering met de opgegeven naam.
log_list(name, value, description='')
Parameters
Name | Description |
---|---|
name
Vereist
|
De naam van de metrische waarde. |
value
Vereist
|
De waarden van de metrische waarde. |
description
Vereist
|
Een optionele beschrijving van metrische gegevens. |
log_predictions
Logboekvoorspellingen in het artefactarchief.
Hiermee wordt een metrische score geregistreerd die kan worden gebruikt om de distributies van werkelijke doelwaarden te vergelijken met de distributie van voorspelde waarden voor een regressietaak.
De voorspellingen zijn binned en standaarddeviaties worden berekend voor foutbalken in een lijndiagram.
log_predictions(name, value, description='')
Parameters
Name | Description |
---|---|
name
Vereist
|
De naam van de voorspellingen. |
value
Vereist
|
JSON met naam, versie en gegevenseigenschappen. |
description
Vereist
|
Een optionele beschrijving van metrische gegevens. |
Opmerkingen
Voorbeeld van een geldige JSON-waarde:
{
"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
Log residuen in het artefactarchief.
Hiermee worden de gegevens die nodig zijn voor het weergeven van een histogram van residuen voor een regressietaak, in een logboek opgeslagen. De residuen worden voorspeld- werkelijk.
Er moet één rand meer zijn dan het aantal aantallen. Raadpleeg de documentatie over het numpy-histogram voor voorbeelden van het gebruik van aantallen en randen om een histogram weer te geven. https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html
log_residuals(name, value, description='')
Parameters
Name | Description |
---|---|
name
Vereist
|
De naam van de residuen. |
value
Vereist
|
JSON met naam, versie en gegevenseigenschappen. |
description
Vereist
|
Een optionele beschrijving van metrische gegevens. |
Opmerkingen
Voorbeeld van een geldige JSON-waarde:
{
"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
Registreer een rijmetriek bij de uitvoering met de opgegeven naam.
log_row(name, description=None, **kwargs)
Parameters
Name | Description |
---|---|
name
Vereist
|
De naam van de metrische waarde. |
description
|
Een optionele beschrijving van metrische gegevens. Default value: None
|
kwargs
Vereist
|
Een woordenlijst met aanvullende parameters. In dit geval de kolommen van de metrische waarde. |
Opmerkingen
Met behulp log_row
van maakt u een tabelmetriek met kolommen zoals beschreven in kwargs. Elke benoemde parameter genereert een kolom met de opgegeven waarde.
log_row
kan eenmaal worden aangeroepen om een willekeurige tuple te registreren, of meerdere keren in een lus om een volledige tabel te genereren.
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
Registreer een metrische tabelwaarde bij de uitvoering met de opgegeven naam.
log_table(name, value, description='')
Parameters
Name | Description |
---|---|
name
Vereist
|
De naam van de metrische waarde. |
value
Vereist
|
De tabelwaarde van de metrische waarde, een woordenlijst waarin sleutels kolommen zijn die naar de service moeten worden gepost. |
description
Vereist
|
Een optionele beschrijving van metrische gegevens. |
register_model
Een model registreren voor operationalisatie.
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)
Parameters
Name | Description |
---|---|
model_name
Vereist
|
De naam van het model. |
model_path
|
Het relatieve cloudpad naar het model, bijvoorbeeld 'outputs/modelname'.
Wanneer niet wordt opgegeven (Geen), Default value: None
|
tags
|
Een woordenlijst met sleutelwaardetags die aan het model moeten worden toegewezen. Default value: None
|
properties
|
Een woordenlijst met sleutelwaarde-eigenschappen die aan het model moeten worden toegewezen. Deze eigenschappen kunnen niet worden gewijzigd nadat het model is gemaakt, maar er kunnen nieuwe sleutelwaardeparen worden toegevoegd. Default value: None
|
model_framework
|
Het framework van het model dat moet worden geregistreerd. Momenteel ondersteunde frameworks: TensorFlow, ScikitLearn, Onnx, Custom, Multi Default value: None
|
model_framework_version
|
De frameworkversie van het geregistreerde model. Default value: None
|
description
|
Een optionele beschrijving van het model. Default value: None
|
datasets
|
Een lijst met tuples waarbij het eerste element de relatie tussen gegevensset en model beschrijft en het tweede element de gegevensset is. Default value: None
|
sample_input_dataset
|
Optioneel. Voorbeeld van invoergegevensset voor het geregistreerde model Default value: None
|
sample_output_dataset
|
Optioneel. Voorbeeld van uitvoergegevensset voor het geregistreerde model Default value: None
|
resource_configuration
|
Optioneel. Resourceconfiguratie voor het uitvoeren van het geregistreerde model Default value: None
|
kwargs
Vereist
|
Optionele parameters. |
Retouren
Type | Description |
---|---|
Het geregistreerde model. |
Opmerkingen
model = best_run.register_model(model_name = 'best_model', model_path = 'outputs/model.pkl')
remove_tags
Verwijder de lijst met veranderlijke tags tijdens deze uitvoering.
remove_tags(tags)
Parameters
Name | Description |
---|---|
tags
Vereist
|
Een lijst met tags die moeten worden verwijderd. |
Retouren
Type | Description |
---|---|
De tags die zijn opgeslagen in het uitvoeringsobject |
restore_snapshot
Een momentopname herstellen als een ZIP-bestand. Retourneert het pad naar het ZIP-bestand.
restore_snapshot(snapshot_id=None, path=None)
Parameters
Name | Description |
---|---|
snapshot_id
|
De momentopname-id die moet worden hersteld. De meest recente wordt gebruikt als deze niet is opgegeven. Default value: None
|
path
|
Het pad waar de gedownloade ZIP wordt opgeslagen. Default value: None
|
Retouren
Type | Description |
---|---|
Het pad. |
set_tags
Voeg een set tags toe of wijzig deze tijdens de uitvoering. Tags die niet worden doorgegeven in de woordenlijst, blijven ongewijzigd.
U kunt ook eenvoudige tekenreekstags toevoegen. Wanneer deze tags als sleutels in de tagwoordenlijst worden weergegeven, hebben ze de waarde Geen. Zie Uitvoeringen taggen en zoeken voor meer informatie.
set_tags(tags)
Parameters
Name | Description |
---|---|
tags
Vereist
|
De tags die zijn opgeslagen in het uitvoeringsobject. |
start
Markeer de uitvoering als gestart.
Dit wordt meestal gebruikt in geavanceerde scenario's wanneer de uitvoering is gemaakt door een andere actor.
start()
submit_child
Dien een experiment in en retourneer de actieve onderliggende uitvoering.
submit_child(config, tags=None, **kwargs)
Parameters
Name | Description |
---|---|
config
Vereist
|
De configuratie die moet worden verzonden. |
tags
|
Tags die moeten worden toegevoegd aan de ingediende uitvoering, bijvoorbeeld {"tag": "value"}. Default value: None
|
kwargs
Vereist
|
Aanvullende parameters die worden gebruikt in de functie submit voor configuraties. |
Retouren
Type | Description |
---|---|
Een uitvoeringsobject. |
Opmerkingen
Verzenden is een asynchrone aanroep naar het Azure Machine Learning-platform om een proefversie uit te voeren op lokale of externe hardware. Afhankelijk van de configuratie bereidt Submit automatisch uw uitvoeringsomgevingen voor, voert u uw code uit en legt u uw broncode en resultaten vast in de uitvoeringsgeschiedenis van het experiment.
Als u een experiment wilt verzenden, moet u eerst een configuratieobject maken waarin wordt beschreven hoe het experiment moet worden uitgevoerd. De configuratie is afhankelijk van het type proefversie dat is vereist.
Een voorbeeld van het verzenden van een onderliggend experiment vanaf uw lokale computer met behulp van ScriptRunConfig is als volgt:
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()
Zie voor meer informatie over het configureren van een uitvoering submit.
tag
Tag de uitvoering met een tekenreekssleutel en optionele tekenreekswaarde.
tag(key, value=None)
Parameters
Name | Description |
---|---|
key
Vereist
|
De tagsleutel |
value
|
Een optionele waarde voor de tag Default value: None
|
Opmerkingen
Tags en eigenschappen op een uitvoering zijn beide woordenlijsten van tekenreeks -> tekenreeks. Het verschil is veranderlijkheid: tags kunnen worden ingesteld, bijgewerkt en verwijderd, terwijl Eigenschappen alleen kunnen worden toegevoegd. Dit maakt Eigenschappen geschikter voor systeem-/werkstroomgerelateerde gedragtriggers, terwijl tags over het algemeen gebruikersgericht en betekenisvol zijn voor de gebruikers van het experiment.
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
Sla een momentopname van het invoerbestand of de invoermap op.
take_snapshot(file_or_folder_path)
Parameters
Name | Description |
---|---|
file_or_folder_path
Vereist
|
Het bestand of de map met de broncode uitvoeren. |
Retouren
Type | Description |
---|---|
Retourneert de momentopname-id. |
Opmerkingen
Momentopnamen zijn bedoeld als de broncode die wordt gebruikt om de experimentuitvoering uit te voeren. Deze worden bij de uitvoering opgeslagen, zodat de proefversie van de uitvoering in de toekomst kan worden gerepliceerd.
Notitie
Momentopnamen worden automatisch gemaakt wanneer submit wordt aangeroepen. Normaal gesproken is dit de take_snapshot-methode alleen vereist voor interactieve uitvoeringen (notebook).
upload_file
Upload een bestand naar de uitvoeringsrecord.
upload_file(name, path_or_stream, datastore_name=None)
Parameters
Name | Description |
---|---|
name
Vereist
|
De naam van het bestand dat u wilt uploaden. |
path_or_stream
Vereist
|
Het relatieve lokale pad of de stroom naar het bestand dat u wilt uploaden. |
datastore_name
Vereist
|
Optionele naam van gegevensarchief |
Retouren
Type | Description |
---|---|
Opmerkingen
run = experiment.start_logging()
run.upload_file(name='important_file', path_or_stream="path/on/disk/file.txt")
Notitie
Hiermee wordt het bestand automatisch vastgelegd in de opgegeven uitvoermap, die voor de meeste uitvoeringstypen standaard is ingesteld op './outputs'. Gebruik upload_file alleen als er extra bestanden moeten worden geüpload of als er geen uitvoermap is opgegeven.
upload_files
Bestanden uploaden naar de uitvoeringsrecord.
upload_files(names, paths, return_artifacts=False, timeout_seconds=None, datastore_name=None)
Parameters
Name | Description |
---|---|
names
Vereist
|
De namen van de bestanden die moeten worden geüpload. Indien ingesteld, moeten paden ook worden ingesteld. |
paths
Vereist
|
De relatieve lokale paden naar de bestanden die moeten worden geüpload. Indien ingesteld, zijn namen vereist. |
return_artifacts
Vereist
|
Geeft aan dat een artefactobject moet worden geretourneerd voor elk bestand dat wordt geüpload. |
timeout_seconds
Vereist
|
De time-out voor het uploaden van bestanden. |
datastore_name
Vereist
|
Optionele naam van gegevensarchief |
Opmerkingen
upload_files
heeft hetzelfde effect als upload_file
op afzonderlijke bestanden, maar er zijn prestatie- en resourcegebruiksvoordelen bij het gebruik van 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')
Notitie
Hiermee worden automatisch bestanden vastgelegd in de opgegeven uitvoermap, die standaard './outputs' is voor de meeste uitvoeringstypen. Gebruik upload_files alleen als er extra bestanden moeten worden geüpload of als er geen uitvoermap is opgegeven.
upload_folder
Upload de opgegeven map naar de opgegeven voorvoegselnaam.
upload_folder(name, path, datastore_name=None)
Parameters
Name | Description |
---|---|
name
Vereist
|
De naam van de map met bestanden die u wilt uploaden. |
folder
Vereist
|
Het relatieve lokale pad naar de map die u wilt uploaden. |
datastore_name
Vereist
|
Naam van optionele gegevensopslag |
Opmerkingen
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')
Notitie
Hiermee worden automatisch bestanden vastgelegd in de opgegeven uitvoermap, die standaard './outputs' is voor de meeste uitvoeringstypen. Gebruik upload_folder alleen als er extra bestanden moeten worden geüpload of als er geen uitvoermap is opgegeven.
wait_for_completion
Wacht tot de uitvoering is voltooid. Retourneert het statusobject na de wachttijd.
wait_for_completion(show_output=False, wait_post_processing=False, raise_on_error=True)
Parameters
Name | Description |
---|---|
show_output
|
Geeft aan of de uitvoer van de uitvoering op sys.stdout moet worden weergegeven. Default value: False
|
wait_post_processing
|
Geeft aan of moet worden gewacht tot de naverwerking is voltooid nadat de uitvoering is voltooid. Default value: False
|
raise_on_error
|
Geeft aan of er een fout optreedt wanneer de uitvoering de status Mislukt heeft. Default value: True
|
Retouren
Type | Description |
---|---|
Het statusobject. |
Kenmerken
description
Retourneer de beschrijving van de uitvoering.
De optionele beschrijving van de uitvoering is een door de gebruiker opgegeven tekenreeks die handig is voor het beschrijven van een uitvoering.
Retouren
Type | Description |
---|---|
De beschrijving van de uitvoering. |
display_name
Retourneer de weergavenaam van de uitvoering.
De optionele weergavenaam van de uitvoering is een door de gebruiker opgegeven tekenreeks die nuttig is voor latere identificatie van de uitvoering.
Retouren
Type | Description |
---|---|
De weergavenaam van de uitvoering. |
experiment
Experiment ophalen met de uitvoering.
Retouren
Type | Description |
---|---|
Hiermee wordt het experiment opgehaald dat overeenkomt met de uitvoering. |
id
Haal de uitvoerings-id op.
De id van de uitvoering is een id die uniek is in het betreffende experiment.
Retouren
Type | Description |
---|---|
De uitvoerings-id. |
name
AFGEKEURD. Gebruik display_name.
De optionele naam van de uitvoering is een door de gebruiker opgegeven tekenreeks die nuttig is voor latere identificatie van de uitvoering.
Retouren
Type | Description |
---|---|
De uitvoerings-id. |
number
Haal het uitvoeringsnummer op.
Een monotonisch toenemend getal dat de volgorde van uitvoeringen binnen een experiment aangeeft.
Retouren
Type | Description |
---|---|
Het uitvoeringsnummer. |
parent
Haal de bovenliggende uitvoering voor deze uitvoering op uit de service.
Uitvoeringen kunnen een optioneel bovenliggend item hebben, wat resulteert in een potentiële structuurhiërarchie van uitvoeringen. Als u metrische gegevens wilt vastleggen in een bovenliggende uitvoering, gebruikt u de log methode van het bovenliggende object, run.parent.log()
bijvoorbeeld .
Retouren
Type | Description |
---|---|
De bovenliggende uitvoering of Geen als er geen is ingesteld. |
properties
Retourneer de onveranderbare eigenschappen van deze uitvoering.
Retouren
Type | Description |
---|---|
De lokaal opgeslagen eigenschappen van de uitvoering. |
Opmerkingen
Eigenschappen omvatten onveranderbare door het systeem gegenereerde informatie, zoals duur, datum van uitvoering, gebruiker, enzovoort.
status
Retourneer de status van het uitvoeringsobject.
tags
Retourneer de set veranderlijke tags voor deze uitvoering.
Retouren
Type | Description |
---|---|
De tags die zijn opgeslagen in het run-object. |
type
Haal het uitvoeringstype op.
Geeft aan hoe de uitvoering is gemaakt of geconfigureerd.
Retouren
Type | Description |
---|---|
Het uitvoeringstype. |