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._PythonScriptStepBasePythonScriptStep
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ł.