PythonScriptStep Klas

Hiermee maakt u een Azure ML-pijplijnstap waarmee het 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 het Python-script wordt uitgevoerd.

Overname
azureml.pipeline.core._python_script_step_base._PythonScriptStepBase
PythonScriptStep

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

script_name
str
Vereist

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

name
str
standaardwaarde: None

De naam van de stap. Indien niet opgegeven, script_name wordt gebruikt.

arguments
list
standaardwaarde: None

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

compute_target
Union[DsvmCompute, AmlCompute, RemoteCompute, HDInsightCompute, str, tuple]
standaardwaarde: None

[Vereist] Het te gebruiken rekendoel. Indien niet 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 een tuple van opgeven ('naam van rekendoel', 'rekendoeltype') om te voorkomen dat het rekendoelobject wordt opgehaald (AmlCompute-type is 'AmlCompute' en het type RemoteCompute is 'VirtualMachine').

runconfig
RunConfiguration
standaardwaarde: None

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 wordt opgegeven, wordt er een standaard runconfig gemaakt.

runconfig_pipeline_params
dict[str, PipelineParameter]
standaardwaarde: None

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

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

outputs
list[Union[PipelineData, OutputDatasetConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset, OutputPortBinding]]
standaardwaarde: None

Een lijst met uitvoerpoortbindingen.

params
dict
standaardwaarde: None

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

source_directory
str
standaardwaarde: None

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

allow_reuse
bool
standaardwaarde: True

Hiermee wordt aangegeven of de vorige resultaten opnieuw moeten worden gebruikt wanneer de stap 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 voor 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
str
standaardwaarde: None

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

hash_paths
list
standaardwaarde: None

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, wordt de inhoud van de stap uit een vorige uitvoering opnieuw gebruikt. Standaard wordt de inhoud van gehasht, met uitzondering van source_directory bestanden die worden vermeld in .amlignore of .gitignore.

script_name
str
Vereist

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

name
str
Vereist

De naam van de stap. Indien niet opgegeven, script_name wordt gebruikt.

arguments
[str]
Vereist

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

compute_target
Union[DsvmCompute, AmlCompute, RemoteCompute, HDInsightCompute, str, tuple]
Vereist

[Vereist] Het te gebruiken rekendoel. Indien niet 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 een tuple van opgeven ('naam van rekendoel', 'rekendoeltype') om te voorkomen dat het rekendoelobject wordt opgehaald (AmlCompute-type is 'AmlCompute' en het type RemoteCompute is 'VirtualMachine').

runconfig
RunConfiguration
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 wordt opgegeven, wordt er een standaard runconfig gemaakt.

runconfig_pipeline_params
dict[str, PipelineParameter]
Vereist

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

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

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

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

source_directory
str
Vereist

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

allow_reuse
bool
Vereist

Hiermee wordt aangegeven of de vorige resultaten opnieuw moeten worden gebruikt wanneer de stap 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 voor 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
str
Vereist

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

hash_paths
list
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, wordt de inhoud van de stap uit een vorige uitvoering opnieuw gebruikt. Standaard wordt de inhoud van gehasht, 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. Het maakt gebruik van een scriptnaam en andere optionele parameters, zoals argumenten voor het script, rekendoel, in- en uitvoer. Als er geen rekendoel is opgegeven, wordt het standaard rekendoel voor de werkruimte gebruikt. U kunt ook een RunConfiguration gebruiken om vereisten op te geven voor de PythonScriptStep, zoals conda-afhankelijkheden en docker-installatiekopieën.

De best practice voor het werken met PythonScriptStep is om een afzonderlijke map te gebruiken voor scripts en eventuele afhankelijke bestanden die aan de stap zijn gekoppeld, en die map op te geven met de source_directory parameter . Het volgen van deze best practice heeft twee voordelen. Ten eerste helpt het de grootte van de momentopname te verkleinen die voor de stap is gemaakt, omdat alleen de momentopnamen worden gemaakt die nodig zijn voor de stap. Ten tweede kan de uitvoer van de stap van een vorige uitvoering opnieuw worden gebruikt als er geen wijzigingen zijn in de source_directory die een herupload van de momentopname activeren.

In het volgende codevoorbeeld ziet u het gebruik van een PythonScriptStep in een machine learning-trainingsscenario. Zie voor meer informatie over dit voorbeeld https://aka.ms/pl-first-pipeline.


   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 van invoer en uitvoer als stap:


   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 typen invoer/uitvoer.

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 wordt geïnstantieerd met deze stap, geeft Azure ML automatisch de vereiste parameters door via deze methode, zodat deze 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 wordt geïnstantieerd met deze stap, geeft Azure ML automatisch de vereiste parameters door via deze methode, zodat deze stap kan worden toegevoegd aan een pijplijngrafiek die de werkstroom vertegenwoordigt.

create_node(graph, default_datastore, context)

Parameters

graph
Graph
Vereist

Het grafiekobject waaraan u het knooppunt wilt toevoegen.

default_datastore
Union[AbstractAzureStorageDatastore, AzureDataLakeDatastore]
Vereist

Het standaardgegevensarchief.

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

De grafiekcontext.

Retouren

Het gemaakte knooppunt.

Retourtype