PipelineData Klasa

Reprezentuje dane pośrednie w potoku Azure Machine Learning.

Dane używane w potoku mogą być tworzone przez jeden krok i używane w innym kroku przez udostępnienie obiektu PipelineData jako danych wyjściowych jednego kroku i wejścia jednego lub kilku kolejnych kroków.

Dziedziczenie
builtins.object
PipelineData

Konstruktor

PipelineData(name, datastore=None, output_name=None, output_mode='mount', output_path_on_compute=None, output_overwrite=None, data_type=None, is_directory=None, pipeline_output_name=None, training_output=None)

Parametry

name
str

Nazwa obiektu PipelineData, który może zawierać tylko litery, cyfry i znaki podkreślenia.

Nazwy PipelineData są używane do identyfikowania danych wyjściowych kroku. Po zakończeniu przebiegu potoku można użyć nazwy kroku z nazwą wyjściową, aby uzyskać dostęp do określonych danych wyjściowych. Nazwy powinny być unikatowe w ramach jednego kroku w potoku.

datastore
AbstractAzureStorageDatastore lub AzureDataLakeDatastore

Magazyn danych, na którym znajduje się PipelineData. Jeśli nie zostanie określony, używany jest domyślny magazyn danych.

output_name
str

Nazwa danych wyjściowych, jeśli nie jest używana żadna nazwa. Może zawierać tylko litery, cyfry i znaki podkreślenia.

output_mode
str

Określa, czy krok produkcji będzie używać metody "upload" lub "Mount" do uzyskiwania dostępu do danych.

output_path_on_compute
str

Dla output_mode = "upload" ten parametr reprezentuje ścieżkę, do której moduł zapisuje dane wyjściowe.

output_overwrite
bool

Dla output_mode = "upload" ten parametr określa, czy zastąpić istniejące dane.

data_type
str

Opcjonalny. Typ danych może służyć do określania oczekiwanego typu danych wyjściowych i szczegółowego sposobu korzystania z danych przez czynności. Może to być dowolny ciąg zdefiniowany przez użytkownika.

is_directory
bool

Określa, czy dane są katalogiem lub pojedynczym plikiem. Jest to używane tylko do określenia typu danych używanego przez zaplecze platformy Azure, gdy data_type nie podano parametru. Wartość domyślna to false.

pipeline_output_name

Jeśli dane wyjściowe będą dostępne za pomocą PipelineRun.get_pipeline_output() . Nazwy wyjściowe potoku muszą być unikatowe w potoku.

training_output
TrainingOutput

Definiuje dane wyjściowe dla wyniku szkolenia. Jest to niezbędny tylko w przypadku określonych szkoleń, które powodują różne rodzaje danych wyjściowych, takich jak metryki i model. Na przykład AutoMLStep wyniki są metrykami i modelem. Można również zdefiniować konkretną iterację szkoleniową lub metrykę używaną w celu uzyskania najlepszego modelu. Dla programu HyperDriveStep można także zdefiniować określone pliki modelu do uwzględnienia w danych wyjściowych.

Uwagi

PipelineData przedstawia dane wyjściowe etap, który zostanie wygenerowane po uruchomieniu. Użyj PipelineData podczas tworzenia kroków opisujących pliki lub katalogi, które zostaną wygenerowane przez krok. Te dane wyjściowe zostaną dodane do określonego magazynu danych i mogą być pobierane i wyświetlane później.

Na przykład poniższy krok potoku generuje jedno wyjście o nazwie "model":


   from azureml.pipeline.core import PipelineData
   from azureml.pipeline.steps import PythonScriptStep

   datastore = ws.get_default_datastore()
   step_output = PipelineData("model", datastore=datastore)
   step = PythonScriptStep(script_name="train.py",
                           arguments=["--model", step_output],
                           outputs=[step_output],
                           compute_target=aml_compute,
                           source_directory=source_directory)

W takim przypadku skrypt train.py będzie zapisywać model tworzony w lokalizacji, która jest dostarczana do skryptu za pomocą argumentu--model.

Obiekty PipelineData są również używane podczas konstruowania potoków do opisywania zależności kroków. Aby określić, że krok wymaga danych wyjściowych innego kroku jako dane wejściowe, użyj obiektu PipelineData w konstruktorze obu kroków.

Na przykład krok szkolenia potoku zależy od process_step_output danych wyjściowych kroku procesu potoku:


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

   datastore = ws.get_default_datastore()
   process_step_output = PipelineData("processed_data", datastore=datastore)
   process_step = PythonScriptStep(script_name="process.py",
                                   arguments=["--data_for_train", process_step_output],
                                   outputs=[process_step_output],
                                   compute_target=aml_compute,
                                   source_directory=process_directory)
   train_step = PythonScriptStep(script_name="train.py",
                                 arguments=["--data_for_train", process_step_output],
                                 inputs=[process_step_output],
                                 compute_target=aml_compute,
                                 source_directory=train_directory)

   pipeline = Pipeline(workspace=ws, steps=[process_step, train_step])

Spowoduje to utworzenie potoku z dwoma krokami. Krok procesu zostanie wykonany jako pierwszy, po zakończeniu zostanie wykonany krok szkolenia. Platforma Azure ML dostarczy dane wyjściowe utworzone przez krok procesu do etapu szkolenia.

Zobacz Tę stronę, aby uzyskać więcej przykładów użycia PipelineData do konstruowania potoku: https://aka.ms/pl-data-dep

W przypadku obsługiwanych typów obliczeń PipelineData można także użyć, aby określić, w jaki sposób dane będą generowane i zużywane przez uruchomienie. Istnieją dwie obsługiwane metody:

  • Zainstaluj (domyślnie): dane wejściowe lub wyjściowe są instalowane do magazynu lokalnego w węźle obliczeniowym, a zmienna środowiskowa jest ustawiona na ścieżkę do danych ($AZUREML _DATAREFERENCE_name). Dla wygody można przekazać obiekt PipelineData w postaci jednego z argumentów do skryptu, na przykład przy użyciu arguments parametru PythonScriptStep , a obiekt zostanie rozpoznany jako ścieżka do danych. W przypadku danych wyjściowych skrypt obliczeniowy powinien utworzyć plik lub katalog w tej ścieżce wyjściowej. Aby wyświetlić wartość zmiennej środowiskowej używanej podczas przekazywania obiektu potoku jako argumentu, użyj get_env_variable_name metody.

  • Przekaż: Określ output_path_on_compute nazwę pliku lub katalogu, który zostanie wygenerowany przez skrypt. (W tym przypadku zmienne środowiskowe nie są używane).

Metody

as_dataset

Podnieś poziom pośrednich danych wyjściowych do zestawu danych.

Ten zestaw danych będzie istnieć po wykonaniu kroku. Należy pamiętać, że dane wyjściowe muszą zostać podwyższone jako zestaw danych, aby kolejne dane wejściowe były używane jako zestaw danych. Jeśli as_dataset nie jest wywoływana w danych wyjściowych, ale tylko wywoływana na wejściu, będzie to aktualizujący nie działa, a dane wejściowe nie będą używane jako zestaw danych. Poniższy przykład kodu pokazuje prawidłowe użycie as_dataset:


   # as_dataset is called here and is passed to both the output and input of the next step.
   pipeline_data = PipelineData('output').as_dataset()

   step1 = PythonScriptStep(..., outputs=[pipeline_data])
   step2 = PythonScriptStep(..., inputs=[pipeline_data])
as_download

Korzystaj z PipelineData jako pobierania.

as_input

Utwórz InputPortBinding i określ nazwę wejściową (ale Użyj trybu domyślnego).

as_mount

Korzystaj z PipelineData jako instalacji.

create_input_binding

Utwórz powiązanie danych wejściowych.

get_env_variable_name

Zwróć nazwę zmiennej środowiskowej dla tego PipelineData.

as_dataset

Podnieś poziom pośrednich danych wyjściowych do zestawu danych.

Ten zestaw danych będzie istnieć po wykonaniu kroku. Należy pamiętać, że dane wyjściowe muszą zostać podwyższone jako zestaw danych, aby kolejne dane wejściowe były używane jako zestaw danych. Jeśli as_dataset nie jest wywoływana w danych wyjściowych, ale tylko wywoływana na wejściu, będzie to aktualizujący nie działa, a dane wejściowe nie będą używane jako zestaw danych. Poniższy przykład kodu pokazuje prawidłowe użycie as_dataset:


   # as_dataset is called here and is passed to both the output and input of the next step.
   pipeline_data = PipelineData('output').as_dataset()

   step1 = PythonScriptStep(..., outputs=[pipeline_data])
   step2 = PythonScriptStep(..., inputs=[pipeline_data])
as_dataset()

Zwraca

Pośrednie dane wyjściowe jako zestaw danych.

Typ zwracany

as_download

Korzystaj z PipelineData jako pobierania.

as_download(input_name=None, path_on_compute=None, overwrite=None)

Parametry

input_name
str
wartość domyślna: None

Użyj, aby określić nazwę dla tego danych wejściowych.

path_on_compute
str
wartość domyślna: None

Ścieżka w ramach obliczeń do pobrania.

overwrite
bool
wartość domyślna: None

Użyj, aby wskazać, czy zastąpić istniejące dane.

Zwraca

InputPortBinding z tym PipelineData jako źródło.

Typ zwracany

as_input

Utwórz InputPortBinding i określ nazwę wejściową (ale Użyj trybu domyślnego).

as_input(input_name)

Parametry

input_name
str

Użyj, aby określić nazwę dla tego danych wejściowych.

Zwraca

InputPortBinding z tym PipelineData jako źródło.

Typ zwracany

as_mount

Korzystaj z PipelineData jako instalacji.

as_mount(input_name=None)

Parametry

input_name
str
wartość domyślna: None

Użyj, aby określić nazwę dla tego danych wejściowych.

Zwraca

InputPortBinding z tym PipelineData jako źródło.

Typ zwracany

create_input_binding

Utwórz powiązanie danych wejściowych.

create_input_binding(input_name=None, mode=None, path_on_compute=None, overwrite=None)

Parametry

input_name
str
wartość domyślna: None

Nazwa danych wejściowych.

mode
str
wartość domyślna: None

Tryb dostępu do PipelineData ("Zainstaluj" lub "Pobierz").

path_on_compute
str
wartość domyślna: None

W przypadku trybu "Pobierz" zostanie wystąpi ścieżka do obliczenia danych.

overwrite
bool
wartość domyślna: None

Dla trybu "Pobierz", czy zastąpić istniejące dane.

Zwraca

InputPortBinding z tym PipelineData jako źródło.

Typ zwracany

get_env_variable_name

Zwróć nazwę zmiennej środowiskowej dla tego PipelineData.

get_env_variable_name()

Zwraca

Nazwa zmiennej środowiskowej.

Typ zwracany

str

Atrybuty

data_type

Typ danych, które zostaną wygenerowane.

Zwraca

Nazwa typu danych.

Typ zwracany

str

datastore

Magazyn danych, w którym znajduje się PipelineData.

Zwraca

Obiekt magazynu danych.

Typ zwracany

name

Nazwa obiektu PipelineData.

Zwraca

Nazwa.

Typ zwracany

str