PythonScriptStep Klasa
Tworzy krok potoku usługi Azure ML, który uruchamia skrypt języka Python.
Przykład użycia języka PythonScriptStep można znaleźć w notesie https://aka.ms/pl-get-started.
Utwórz krok potoku usługi Azure ML, który uruchamia skrypt języka Python.
- 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
- name
- str
Nazwa kroku. Jeśli nie zostanie określona, script_name
zostanie użyta.
- arguments
- list
Argumenty wiersza polecenia dla pliku skryptu języka Python. Argumenty zostaną przekazane do obliczeń za pośrednictwem parametru arguments
w funkcji RunConfiguration.
Aby uzyskać więcej informacji na temat obsługi argumentów, takich jak symbole specjalne, zobacz RunConfiguration.
- compute_target
- Union[DsvmCompute, AmlCompute, RemoteCompute, HDInsightCompute, str, tuple]
[Wymagane] Docelowy obiekt obliczeniowy do użycia. Jeśli nie zostanie określona, zostanie użyty element docelowy z konfiguracji runconfig. Ten parametr może być określony jako obiekt docelowy obliczeniowy lub nazwa ciągu docelowego obiektu obliczeniowego w obszarze roboczym. Opcjonalnie, jeśli docelowy obiekt obliczeniowy nie jest dostępny w czasie tworzenia potoku, możesz określić krotkę ("nazwa docelowa obliczeniowa", "typ docelowy obliczeniowy"), aby uniknąć pobierania obiektu docelowego obliczeniowego (typ AmlCompute to "AmlCompute", a typ RemoteCompute to "VirtualMachine").
- runconfig
- RunConfiguration
Opcjonalna funkcja RunConfiguration do użycia. Za pomocą polecenia RunConfiguration można określić dodatkowe wymagania dotyczące przebiegu, takie jak zależności conda i obraz platformy Docker. Jeśli nie zostanie określona, zostanie utworzona domyślna konfiguracja runconfig.
- runconfig_pipeline_params
- dict[str, PipelineParameter]
Przesłania właściwości runconfig w czasie wykonywania przy użyciu par klucz-wartość każdy z nazwami właściwości runconfig i PipelineParameter dla tej właściwości.
Obsługiwane wartości: "NodeCount", "MpiProcessCountPerNode", "TensorflowWorkerCount", "TensorflowParameterServerCount"
- inputs
- list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
Lista powiązań portów wejściowych.
- outputs
- list[Union[PipelineData, OutputDatasetConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset, OutputPortBinding]]
Lista powiązań portów wyjściowych.
- params
- dict
Słownik par name-value zarejestrowanych jako zmienne środowiskowe z "AML_PARAMETER_".
- source_directory
- str
Folder zawierający skrypt języka Python, env conda i inne zasoby używane w kroku.
- allow_reuse
- bool
Wskazuje, czy krok powinien ponownie używać poprzednich wyników po ponownym uruchomieniu z tymi samymi ustawieniami. Ponowne użycie jest domyślnie włączone. Jeśli zawartość kroku (skrypty/zależności) oraz dane wejściowe i parametry pozostają niezmienione, dane wyjściowe z poprzedniego uruchomienia tego kroku są ponownie używane. Podczas ponownego wykonywania kroku zamiast przesyłania zadania do obliczeń wyniki z poprzedniego uruchomienia są natychmiast udostępniane wszelkim kolejnym krokom. Jeśli używasz zestawów danych usługi Azure Machine Learning jako danych wejściowych, ponowne użycie zależy od tego, czy definicja zestawu danych uległa zmianie, a nie przez to, czy dane bazowe uległy zmianie.
- hash_paths
- list
PRZESTARZAŁE: nie jest już potrzebne.
Lista ścieżek do skrótu podczas sprawdzania zmian w zawartości kroku. Jeśli nie wykryto żadnych zmian, potok ponownie użyje zawartości kroku z poprzedniego uruchomienia. Domyślnie zawartość elementu source_directory
jest skrótem z wyjątkiem plików wymienionych w pliku .amlignore lub .gitignore.
- arguments
- [str]
Argumenty wiersza polecenia dla pliku skryptu języka Python. Argumenty zostaną przekazane do obliczeń za pośrednictwem parametru arguments
w funkcji RunConfiguration.
Aby uzyskać więcej informacji na temat obsługi argumentów, takich jak symbole specjalne, zobacz RunConfiguration.
- compute_target
- Union[DsvmCompute, AmlCompute, RemoteCompute, HDInsightCompute, str, tuple]
[Wymagane] Docelowy obiekt obliczeniowy do użycia. Jeśli nie zostanie określona, zostanie użyty element docelowy z konfiguracji runconfig. Ten parametr może być określony jako obiekt docelowy obliczeniowy lub nazwa ciągu docelowego obiektu obliczeniowego w obszarze roboczym. Opcjonalnie, jeśli docelowy obiekt obliczeniowy nie jest dostępny w czasie tworzenia potoku, możesz określić krotkę ("nazwa docelowa obliczeniowa", "typ docelowy obliczeniowy"), aby uniknąć pobierania obiektu docelowego obliczeniowego (typ AmlCompute to "AmlCompute", a typ RemoteCompute to "VirtualMachine").
- runconfig
- RunConfiguration
Opcjonalna funkcja RunConfiguration do użycia. Funkcja RunConfiguration może służyć do określania dodatkowych wymagań dotyczących przebiegu, takich jak zależności conda i obraz platformy Docker. Jeśli nie zostanie określona, zostanie utworzona domyślna konfiguracja runconfig.
- runconfig_pipeline_params
- dict[str, PipelineParameter]
Przesłania właściwości runconfig w czasie wykonywania przy użyciu par klucz-wartość każdy z nazwami właściwości runconfig i PipelineParameter dla tej właściwości.
Obsługiwane wartości: "NodeCount", "MpiProcessCountPerNode", "TensorflowWorkerCount", "TensorflowParameterServerCount"
- inputs
- list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
Lista powiązań portów wejściowych.
- outputs
- list[Union[PipelineData, OutputDatasetConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset, OutputPortBinding]]
Lista powiązań portów wyjściowych.
- params
- <xref:<xref:{str: str}>>
Słownik par name-value. Zarejestrowane jako zmienne środowiskowe z wartością ">>AML_PARAMETER_<<".
- source_directory
- str
Folder zawierający skrypt języka Python, env conda i inne zasoby używane w kroku.
- allow_reuse
- bool
Wskazuje, czy krok powinien ponownie używać poprzednich wyników po ponownym uruchomieniu z tymi samymi ustawieniami. Ponowne użycie jest domyślnie włączone. Jeśli zawartość kroku (skrypty/zależności) oraz dane wejściowe i parametry pozostają niezmienione, dane wyjściowe z poprzedniego uruchomienia tego kroku są ponownie używane. Podczas ponownego wykonywania kroku zamiast przesyłania zadania do obliczeń wyniki z poprzedniego uruchomienia są natychmiast udostępniane wszelkim kolejnym krokom. Jeśli używasz zestawów danych usługi Azure Machine Learning jako danych wejściowych, ponowne użycie zależy od tego, czy definicja zestawu danych uległa zmianie, a nie przez to, czy dane bazowe uległy zmianie.
- hash_paths
- list
PRZESTARZAŁE: nie jest już potrzebne.
Lista ścieżek do skrótu podczas sprawdzania zmian w zawartości kroku. Jeśli nie wykryto żadnych zmian, potok ponownie użyje zawartości kroku z poprzedniego uruchomienia. Domyślnie zawartość elementu source_directory
jest skrótem z wyjątkiem plików wymienionych w pliku .amlignore lub .gitignore.
Uwagi
PythonScriptStep to podstawowy, wbudowany krok uruchamiania skryptu języka Python na obiekcie docelowym obliczeniowym. 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 docelowego obiektu obliczeniowego, zostanie użyty domyślny obiekt docelowy obliczeniowy dla obszaru roboczego. Można również użyć elementu , RunConfiguration aby określić wymagania dotyczące języka PythonScriptStep, takie jak zależności conda i obraz platformy Docker.
Najlepszym rozwiązaniem do pracy z językiem PythonScriptStep jest użycie oddzielnego folderu dla skryptów i wszelkich zależnych plików skojarzonych z krokiem i określenia tego folderu z parametrem source_directory
.
Poniższe najlepsze rozwiązanie ma dwie korzyści. Najpierw pomaga zmniejszyć rozmiar migawki utworzonej dla kroku, ponieważ tylko to, co jest potrzebne do wykonania kroku, jest migawkowane. Po drugie, dane wyjściowe kroku z poprzedniego przebiegu można ponownie użyć, jeśli nie ma żadnych zmian w source_directory
pliku, które wyzwoli ponowne przekazanie migawki.
Poniższy przykład kodu przedstawia użycie elementu PythonScriptStep w scenariuszu trenowania 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ługują wiele typów danych wejściowych i wyjściowych. Należą do DatasetConsumptionConfig nich dane wejściowe i OutputDatasetConfig, PipelineOutputAbstractDatasetoraz PipelineData dla danych wejściowych i wyjściowych.
Poniżej przedstawiono przykład użycia Dataset jako danych wejściowych i wyjściowych kroku:
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ł dla języka PythonScriptKrok 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 usługa Azure ML automatycznie przekazuje parametry wymagane za pomocą tej metody, aby można było dodać krok do wykresu potoku reprezentującego przepływ pracy. |
create_node
Utwórz węzeł dla języka PythonScriptKrok 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 usługa Azure ML automatycznie przekazuje parametry wymagane za pomocą tej metody, aby można było dodać krok do wykresu potoku reprezentującego przepływ pracy.
create_node(graph, default_datastore, context)
Parametry
- default_datastore
- Union[AbstractAzureStorageDatastore, AzureDataLakeDatastore]
Domyślny magazyn danych.
- context
- <xref:azureml.pipeline.core._GraphContext>
Kontekst grafu.
Zwraca
Utworzony węzeł.
Typ zwracany
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla