PythonScriptStep Klasa

Tworzy krok Azure ML potoku, który uruchamia skrypt języka Python.

Przykład użycia PythonScriptStep można znaleźć w notesie https://aka.ms/pl-get-started .

Dziedziczenie
azureml.pipeline.core._python_script_step_base._PythonScriptStepBase
PythonScriptStep

Konstruktor

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)

Parametry

script_name
str

Potrzeb Nazwa skryptu w języku Python względem source_directory .

name
str

Nazwa kroku. Jeśli jest nieokreślony, script_name jest używany.

arguments
list

Argumenty wiersza polecenia dla pliku skryptu języka Python. Argumenty zostaną przekazane do obliczeń za pośrednictwem arguments parametru w RunConfiguration. Aby uzyskać więcej informacji na temat obsługi argumentów, takich jak symbole specjalne, zobacz RunConfiguration .

compute_target
Union[<xref:azureml.core.compute.DsvmCompute,azureml.core.compute.AmlCompute,azureml.core.compute.RemoteCompute,azureml.core.compute.HDInsightCompute,str,tuple>]

Potrzeb Obiekt docelowy obliczeń do użycia. Jeśli nie zostanie określony, zostanie użyty obiekt docelowy z runconfig. Ten parametr może być określony jako obiekt docelowy obliczeń lub nazwa ciągu elementu docelowego obliczeń w obszarze roboczym. Opcjonalnie Jeśli obiekt docelowy obliczeń nie jest dostępny podczas tworzenia potoku, można określić krotkę ("nazwa elementu docelowego obliczeń", "typ docelowy obliczeń"), aby uniknąć pobierania obiektu docelowego obliczeń (typ AmlCompute to "AmlCompute", a RemoteCompute typ to "VirtualMachine").

runconfig
RunConfiguration

Opcjonalna RunConfiguration do użycia. RunConfiguration może służyć do określania dodatkowych wymagań dla uruchomienia, takich jak zależności Conda i obraz platformy Docker. Jeśli nie zostanie określony, zostanie utworzony domyślny runconfig.

runconfig_pipeline_params
dict[str, PipelineParameter]

Przesłania właściwości runconfig w czasie wykonywania przy użyciu par klucz-wartość każdego z nazwą właściwości runconfig i PipelineParameter dla tej właściwości.

Obsługiwane wartości: "NodeCount", "MpiProcessCountPerNode", "TensorflowWorkerCount", "TensorflowParameterServerCount"

inputs
list[Union[<xref:azureml.pipeline.core.graph.InputPortBinding,azureml.data.data_reference.DataReference,azureml.pipeline.core.PortDataReference,azureml.pipeline.core.builder.PipelineData,azureml.pipeline.core.pipeline_output_dataset.PipelineOutputFileDataset,azureml.pipeline.core.pipeline_output_dataset.PipelineOutputTabularDataset,azureml.data.dataset_consumption_config.DatasetConsumptionConfig>]]

Lista powiązań portów wejściowych.

outputs
list[Union[<xref:azureml.pipeline.core.builder.PipelineData,azureml.data.output_dataset_config.OutputDatasetConfig,azureml.pipeline.core.pipeline_output_dataset.PipelineOutputFileDataset,azureml.pipeline.core.pipeline_output_dataset.PipelineOutputTabularDataset,azureml.pipeline.core.graph.OutputPortBinding>]]

Lista powiązań portów wyjściowych.

params
dict

Słownik par nazwa-wartość zarejestrowanych jako zmienne środowiskowe z "AML_PARAMETER_".

source_directory
str

Folder, który zawiera skrypt języka Python, ENV Conda i inne zasoby używane w tym kroku.

allow_reuse
bool

Wskazuje, czy krok ma ponownie używać poprzednich wyników po ponownym uruchomieniu z tymi samymi ustawieniami. Ponowne użycie jest włączone domyślnie. Jeśli zawartość kroku (skrypty/zależności), jak również dane wejściowe i parametry pozostaną niezmienione, dane wyjściowe z poprzedniego przebiegu tego kroku są ponownie używane. W przypadku ponownej próby wykonania kroku zamiast przesłania zadania do obliczenia wyniki z poprzedniego przebiegu zostaną natychmiast udostępnione dla wszystkich kolejnych kroków. Jeśli użyjesz Azure Machine Learning zestawów danych jako danych wejściowych, ponowne użycie jest określane na podstawie tego, czy zmieniono definicję DataSet, bez względu na to, czy dane bazowe zostały zmienione.

version
str

Opcjonalny tag wersji, aby oznaczyć zmianę funkcjonalności kroku.

hash_paths
list

PRZESTARZAŁe: nie są już potrzebne.

Lista ścieżek do mieszania podczas sprawdzania zmian zawartości kroku. Jeśli nie wykryto żadnych zmian, potok będzie ponownie używał zawartości kroku z poprzedniego przebiegu. Domyślnie zawartość source_directory jest skrótem, z wyjątkiem plików wymienionych w pliku. amlignore lub. gitignore.

Uwagi

PythonScriptStep to podstawowy, wbudowany krok do uruchomienia skryptu języka Python w obiekcie docelowym obliczeń. Pobiera ona nazwę skryptu i inne parametry opcjonalne, takie jak argumenty dla skryptu, docelowy obiekt obliczeniowy, dane wejściowe i wyjściowe. Jeśli nie określono elementu docelowego obliczeń, używany jest domyślny obiekt docelowy obliczeń dla obszaru roboczego. Można również użyć, RunConfiguration Aby określić wymagania dotyczące PythonScriptStep, takie jak Conda zależności i obraz platformy Docker.

Najlepszym rozwiązaniem w przypadku pracy z programem PythonScriptStep jest użycie osobnego folderu dla skryptów i wszystkich plików zależnych skojarzonych z tym krokiem oraz określenie tego folderu z source_directory parametrem. Poniższe najlepsze rozwiązanie ma dwie zalety. Najpierw pomaga zmniejszyć rozmiar migawki utworzonej dla tego kroku, ponieważ tylko to, co jest potrzebne do kroku, to snapshotted. Po drugie, dane wyjściowe kroku z poprzedniego przebiegu mogą być ponownie używane, jeśli nie ma żadnych zmian w programie source_directory , które spowodują ponowne przekazanie migawki.

Poniższy przykład kodu przedstawia użycie PythonScriptStep w scenariuszu uczenia maszynowego. Aby uzyskać więcej informacji na temat tego przykładu, zobacz 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 obsługuje wiele typów danych wejściowych i wyjściowych. Obejmują one DatasetConsumptionConfig dane wejściowe i OutputDatasetConfig , PipelineOutputAbstractDataset , oraz PipelineData dla danych wejściowych i wyjściowych.

Poniżej przedstawiono przykład użycia Dataset jako dane wejściowe i wyjściowe kroków:


   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)

Zapoznaj się z odpowiednimi stronami dokumentacji, aby zapoznać się z przykładami użycia innych typów danych wejściowych/wyjściowych.

Metody

create_node

Utwórz węzeł PythonScriptStep i dodaj go do określonego grafu.

Ta metoda nie jest przeznaczona do użycia bezpośrednio. Po utworzeniu wystąpienia potoku w tym kroku platforma Azure ML automatycznie przekazuje parametry wymagane przez tę metodę, aby można było dodać ten krok do wykresu potoku, który reprezentuje przepływ pracy.

create_node

Utwórz węzeł PythonScriptStep i dodaj go do określonego grafu.

Ta metoda nie jest przeznaczona do użycia bezpośrednio. Po utworzeniu wystąpienia potoku w tym kroku platforma Azure ML automatycznie przekazuje parametry wymagane przez tę metodę, aby można było dodać ten krok do wykresu potoku, który reprezentuje przepływ pracy.

create_node(graph, default_datastore, context)

Parametry

graph
Graph

Obiekt grafu, do którego ma zostać dodany węzeł.

default_datastore
Union[<xref:azureml.data.azure_storage_datastore.AbstractAzureStorageDatastore,azureml.data.azure_data_lake_datastore.AzureDataLakeDatastore>]

Domyślny magazyn danych.

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

Kontekst wykresu.

Zwraca

Utworzony węzeł.

Typ zwracany