Lezen in het Engels

Delen via


PythonScriptStep Klas

Hiermee maakt u een Azure ML-pijplijnstap waarmee Een Python-script wordt uitgevoerd.

Zie het notebook https://aka.ms/pl-get-startedvoor een voorbeeld van het gebruik van PythonScriptStep.

Maak een Azure ML-pijplijnstap waarmee Python-script wordt uitgevoerd.

Constructor

PythonScriptStep(script_name, name=None, arguments=None, compute_target=None, runconfig=None, runconfig_pipeline_params=None, inputs=None, outputs=None, params=None, source_directory=None, allow_reuse=True, version=None, hash_paths=None)

Parameters

Name Description
script_name
Vereist
str

[Vereist] De naam van een Python-script ten opzichte source_directoryvan .

name
str

De naam van de stap. Als dit niet is opgegeven, script_name wordt deze gebruikt.

Default value: None
arguments

Opdrachtregelargumenten voor het Python-scriptbestand. De argumenten worden doorgegeven om te berekenen via de arguments parameter in RunConfiguration. Zie voor meer informatie over het afhandelen van argumenten, zoals speciale symbolen, de RunConfiguration.

Default value: None
compute_target

[Vereist] Het rekendoel dat moet worden gebruikt. Als dit niet is opgegeven, wordt het doel van de runconfig gebruikt. Deze parameter kan worden opgegeven als een rekendoelobject of de tekenreeksnaam van een rekendoel in de werkruimte. Als het rekendoel niet beschikbaar is tijdens het maken van de pijplijn, kunt u eventueel een tuple opgeven van ('naam van rekendoel', 'rekendoeltype') om te voorkomen dat het rekendoelobject wordt opgehaald (het type AmlCompute is 'AmlCompute' en het type RemoteCompute is 'VirtualMachine').

Default value: None
runconfig

De optionele RunConfiguration die moet worden gebruikt. Een RunConfiguration kan worden gebruikt om aanvullende vereisten voor de uitvoering op te geven, zoals conda-afhankelijkheden en een docker-installatiekopieën. Als dit niet is opgegeven, wordt er een standaarduitvoeringsconfiguratie gemaakt.

Default value: None
runconfig_pipeline_params

Onderdrukkingen van runconfig-eigenschappen tijdens runtime met behulp van sleutel-waardeparen elk met de naam van de runconfig-eigenschap en PipelineParameter voor die eigenschap.

Ondersteunde waarden: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount'

Default value: None
inputs

Een lijst met invoerpoortbindingen.

Default value: None
outputs

Een lijst met uitvoerpoortbindingen.

Default value: None
params

Een woordenlijst met naam-waardeparen die zijn geregistreerd als omgevingsvariabelen met 'AML_PARAMETER_'.

Default value: None
source_directory
str

Een map met Python-script, conda env en andere resources die in de stap worden gebruikt.

Default value: None
allow_reuse

Hiermee wordt aangegeven of de stap vorige resultaten opnieuw moet gebruiken wanneer deze opnieuw wordt uitgevoerd met dezelfde instellingen. Hergebruik is standaard ingeschakeld. Als de inhoud van de stap (scripts/afhankelijkheden) en de invoer en parameters ongewijzigd blijven, wordt de uitvoer van de vorige uitvoering van deze stap opnieuw gebruikt. Wanneer u de stap opnieuw gebruikt, worden de resultaten van de vorige uitvoering onmiddellijk beschikbaar gesteld aan eventuele volgende stappen in plaats van de taak te verzenden om te berekenen. Als u Azure Machine Learning-gegevenssets als invoer gebruikt, wordt hergebruik bepaald door of de definitie van de gegevensset is gewijzigd, niet door of de onderliggende gegevens zijn gewijzigd.

Default value: True
version
str

Een optionele versietag om een wijziging in de functionaliteit voor de stap aan te geven.

Default value: None
hash_paths

AFGESCHAFT: niet meer nodig.

Een lijst met paden naar hash bij het controleren op wijzigingen in de inhoud van de stap. Als er geen wijzigingen zijn gedetecteerd, gebruikt de pijplijn de stapinhoud van een vorige uitvoering opnieuw. Standaard is de inhoud van hashed, met uitzondering van source_directory bestanden die worden vermeld in .amlignore of .gitignore.

Default value: None
script_name
Vereist
str

[Vereist] De naam van een Python-script ten opzichte source_directoryvan .

name
Vereist
str

De naam van de stap. Als dit niet is opgegeven, script_name wordt deze gebruikt.

arguments
Vereist
[str]

Opdrachtregelargumenten voor het Python-scriptbestand. De argumenten worden doorgegeven om te berekenen via de arguments parameter in RunConfiguration. Zie voor meer informatie over het afhandelen van argumenten, zoals speciale symbolen, de RunConfiguration.

compute_target
Vereist

[Vereist] Het rekendoel dat moet worden gebruikt. Als dit niet is opgegeven, wordt het doel van de runconfig gebruikt. Deze parameter kan worden opgegeven als een rekendoelobject of de tekenreeksnaam van een rekendoel in de werkruimte. Als het rekendoel niet beschikbaar is tijdens het maken van de pijplijn, kunt u eventueel een tuple opgeven van ('naam van rekendoel', 'rekendoeltype') om te voorkomen dat het rekendoelobject wordt opgehaald (het type AmlCompute is 'AmlCompute' en het type RemoteCompute is 'VirtualMachine').

runconfig
Vereist

De optionele RunConfiguration die moet worden gebruikt. RunConfiguration kan worden gebruikt om aanvullende vereisten voor de uitvoering op te geven, zoals conda-afhankelijkheden en een Docker-installatiekopieën. Als dit niet is opgegeven, wordt er een standaarduitvoeringsconfiguratie gemaakt.

runconfig_pipeline_params
Vereist

Onderdrukkingen van runconfig-eigenschappen tijdens runtime met behulp van sleutel-waardeparen elk met de naam van de runconfig-eigenschap en PipelineParameter voor die eigenschap.

Ondersteunde waarden: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount'

inputs
Vereist

Een lijst met invoerpoortbindingen.

outputs
Vereist

Een lijst met uitvoerpoortbindingen.

params
Vereist
<xref:<xref:{str: str}>>

Een woordenlijst met naam-waardeparen. Geregistreerd als omgevingsvariabelen met '>>AML_PARAMETER_<<'.

source_directory
Vereist
str

Een map met Python-script, conda env en andere resources die in de stap worden gebruikt.

allow_reuse
Vereist

Hiermee wordt aangegeven of de stap vorige resultaten opnieuw moet gebruiken wanneer deze opnieuw wordt uitgevoerd met dezelfde instellingen. Hergebruik is standaard ingeschakeld. Als de inhoud van de stap (scripts/afhankelijkheden) en de invoer en parameters ongewijzigd blijven, wordt de uitvoer van de vorige uitvoering van deze stap opnieuw gebruikt. Wanneer u de stap opnieuw gebruikt, worden de resultaten van de vorige uitvoering onmiddellijk beschikbaar gesteld aan eventuele volgende stappen in plaats van de taak te verzenden om te berekenen. Als u Azure Machine Learning-gegevenssets als invoer gebruikt, wordt hergebruik bepaald door of de definitie van de gegevensset is gewijzigd, niet door of de onderliggende gegevens zijn gewijzigd.

version
Vereist
str

Een optionele versietag om een wijziging in de functionaliteit voor de stap aan te geven.

hash_paths
Vereist

AFGESCHAFT: niet meer nodig.

Een lijst met paden naar hash bij het controleren op wijzigingen in de inhoud van de stap. Als er geen wijzigingen zijn gedetecteerd, gebruikt de pijplijn de stapinhoud van een vorige uitvoering opnieuw. Standaard is de inhoud van hashed, met uitzondering van source_directory bestanden die worden vermeld in .amlignore of .gitignore.

Opmerkingen

Een PythonScriptStep is een eenvoudige, ingebouwde stap voor het uitvoeren van een Python-script op een rekendoel. Hiervoor zijn een scriptnaam en andere optionele parameters nodig, zoals argumenten voor het script, rekendoel, invoer en uitvoer. Als er geen rekendoel is opgegeven, wordt het standaard rekendoel voor de werkruimte gebruikt. U kunt ook een RunConfiguration om vereisten voor pythonScriptStep op te geven, zoals conda-afhankelijkheden en docker-installatiekopieën.

De aanbevolen procedure voor het werken met PythonScriptStep is het gebruik van een afzonderlijke map voor scripts en afhankelijke bestanden die aan de stap zijn gekoppeld en geef die map op met de source_directory parameter. Het volgen van deze best practice heeft twee voordelen. Ten eerste kunt u hiermee de grootte van de momentopname verkleinen die voor de stap is gemaakt, omdat alleen wat er nodig is voor de stap een momentopname wordt gemaakt. Ten tweede kan de uitvoer van de stap van een vorige uitvoering opnieuw worden gebruikt als er geen wijzigingen zijn in de source_directory stap die een herupload van de momentopname zou activeren.

In het volgende codevoorbeeld ziet u hoe u een PythonScriptStep gebruikt in een machine learning-trainingsscenario. Zie https://aka.ms/pl-first-pipelinevoor meer informatie over dit voorbeeld.


   from azureml.pipeline.steps import PythonScriptStep

   trainStep = PythonScriptStep(
       script_name="train.py",
       arguments=["--input", blob_input_data, "--output", output_data1],
       inputs=[blob_input_data],
       outputs=[output_data1],
       compute_target=compute_target,
       source_directory=project_folder
   )

PythonScriptSteps ondersteunt een aantal invoer- en uitvoertypen. Deze omvatten DatasetConsumptionConfig voor invoer en OutputDatasetConfig, PipelineOutputAbstractDataseten PipelineData voor invoer en uitvoer.

Hieronder ziet u een voorbeeld van het gebruik Dataset als stapinvoer en -uitvoer:


   from azureml.core import Dataset
   from azureml.pipeline.steps import PythonScriptStep
   from azureml.pipeline.core import Pipeline, PipelineData

   # get input dataset
   input_ds = Dataset.get_by_name(workspace, 'weather_ds')

   # register pipeline output as dataset
   output_ds = PipelineData('prepared_weather_ds', datastore=datastore).as_dataset()
   output_ds = output_ds.register(name='prepared_weather_ds', create_new_version=True)

   # configure pipeline step to use dataset as the input and output
   prep_step = PythonScriptStep(script_name="prepare.py",
                                inputs=[input_ds.as_named_input('weather_ds')],
                                outputs=[output_ds],
                                compute_target=compute_target,
                                source_directory=project_folder)

Raadpleeg de bijbehorende documentatiepagina's voor voorbeelden van het gebruik van andere invoer-/uitvoertypen.

Methoden

create_node

Maak een knooppunt voor PythonScriptStep en voeg dit toe aan de opgegeven grafiek.

Deze methode is niet bedoeld om rechtstreeks te worden gebruikt. Wanneer een pijplijn met deze stap wordt geïnstantieerd, worden in Azure ML automatisch de parameters doorgegeven die zijn vereist via deze methode, zodat de stap kan worden toegevoegd aan een pijplijngrafiek die de werkstroom vertegenwoordigt.

create_node

Maak een knooppunt voor PythonScriptStep en voeg dit toe aan de opgegeven grafiek.

Deze methode is niet bedoeld om rechtstreeks te worden gebruikt. Wanneer een pijplijn met deze stap wordt geïnstantieerd, worden in Azure ML automatisch de parameters doorgegeven die zijn vereist via deze methode, zodat de stap kan worden toegevoegd aan een pijplijngrafiek die de werkstroom vertegenwoordigt.

create_node(graph, default_datastore, context)

Parameters

Name Description
graph
Vereist

Het grafiekobject waaraan het knooppunt moet worden toegevoegd.

default_datastore
Vereist

Het standaardgegevensarchief.

context
Vereist
<xref:azureml.pipeline.core._GraphContext>

De grafiekcontext.

Retouren

Type Description

Het gemaakte knooppunt.