PipelineData Klasa
Reprezentuje dane pośrednie w potoku usługi Azure Machine Learning.
Dane używane w potoku mogą być tworzone przez jeden krok i używane w innym kroku przez podanie obiektu PipelineData jako danych wyjściowych jednego kroku i danych wejściowych co najmniej jednego kolejnego kroku.
Pamiętaj , że jeśli używasz danych potoku, upewnij się, że katalog istniał.
Przykład języka Python, aby upewnić się, że katalog istniał, załóżmy, że masz port wyjściowy o nazwie output_folder w jednym kroku potoku, chcesz zapisać niektóre dane do ścieżki względnej w tym folderze.
import os
os.makedirs(args.output_folder, exist_ok=True)
f = open(args.output_folder + '/relative_path/file_name', 'w+')
PipelineData używa bazy danych DataReference , która nie jest już zalecanym podejściem do uzyskiwania dostępu do danych i dostarczania, zamiast tego użyj polecenia OutputFileDatasetConfig . Zamiast tego możesz znaleźć przykład: Potok przy użyciu parametru OutputFileDatasetConfig.
Inicjowanie elementu PipelineData.
- Dziedziczenie
-
builtins.objectPipelineData
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 podkreślenia.
Nazwy PipelineData służą do identyfikowania danych wyjściowych kroku. Po zakończeniu przebiegu potoku możesz użyć nazwy kroku o nazwie wyjściowej, 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, w którym będzie znajdować się pipelineData. Jeśli nie zostanie określona, zostanie użyty domyślny magazyn danych.
- output_name
- str
Nazwa danych wyjściowych, jeśli jest używana nazwa Brak. Może zawierać tylko litery, cyfry i podkreślenia.
- output_mode
- str
Określa, czy krok produkcji będzie używać metody "upload" lub "mount" w celu uzyskania dostępu do danych.
- output_path_on_compute
- str
Dla output_mode
= "upload", ten parametr reprezentuje ścieżkę, do którą 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. Może to być dowolny ciąg zdefiniowany przez użytkownika.
- is_directory
- bool
Określa, czy dane są katalogiem, czy pojedynczym plikiem. Służy to tylko do określania typu danych używanego przez zaplecze usługi Azure ML, gdy data_type
parametr nie jest podany. Wartość domyślna to False.
- pipeline_output_name
Jeśli podano te dane wyjściowe, będą dostępne przy użyciu polecenia PipelineRun.get_pipeline_output()
. Nazwy danych wyjściowych potoku muszą być unikatowe w potoku.
- training_output
- TrainingOutput
Definiuje dane wyjściowe dla wyniku trenowania. Jest to wymagane 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 w metrykach i modelu. Można również zdefiniować konkretną iterację trenowania lub metryki używane do uzyskania najlepszego modelu. W przypadku HyperDriveStepprogramu można również zdefiniować określone pliki modelu, które mają być uwzględnione w danych wyjściowych.
- name
- str
Nazwa obiektu PipelineData, który może zawierać tylko litery, cyfry i podkreślenia.
Nazwy PipelineData służą do identyfikowania danych wyjściowych kroku. Po zakończeniu przebiegu potoku możesz użyć nazwy kroku o nazwie wyjściowej, 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, w którym będzie znajdować się pipelineData. Jeśli nie zostanie określona, zostanie użyty domyślny magazyn danych.
- output_name
- str
Nazwa danych wyjściowych, jeśli jest używana nazwa Brak. które mogą zawierać tylko litery, cyfry i podkreślenia.
- output_mode
- str
Określa, czy krok produkcji będzie używać metody "upload" lub "mount" w celu uzyskania dostępu do danych.
- output_path_on_compute
- str
Dla output_mode
= "upload", ten parametr reprezentuje ścieżkę, do którą 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. Może to być dowolny ciąg zdefiniowany przez użytkownika.
- is_directory
- bool
Określa, czy dane są katalogiem, czy pojedynczym plikiem. Służy to tylko do określania typu danych używanego przez zaplecze usługi Azure ML, gdy data_type
parametr nie jest podany. Wartość domyślna to False.
- pipeline_output_name
- str
Jeśli podano te dane wyjściowe, będą dostępne przy użyciu polecenia PipelineRun.get_pipeline_output()
. Nazwy danych wyjściowych potoku muszą być unikatowe w potoku.
- training_output
- TrainingOutput
Definiuje dane wyjściowe dla wyniku trenowania. Jest to wymagane 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 w metrykach i modelu. Można również zdefiniować konkretną iterację trenowania lub metryki używane do uzyskania najlepszego modelu. W przypadku HyperDriveStepprogramu można również zdefiniować określone pliki modelu, które mają być uwzględnione w danych wyjściowych.
Uwagi
PipelineData reprezentuje dane wyjściowe danych, który zostanie wygenerowany po uruchomieniu. Użyj metody PipelineData podczas tworzenia kroków, aby opisać pliki lub katalogi, które będą generowane przez krok. Te dane wyjściowe zostaną dodane do określonego magazynu danych i można je później pobrać i wyświetlić.
Na przykład następujący krok potoku generuje jedno dane wyjściowe 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 napisze model, który tworzy w lokalizacji udostępnionej skryptowi za pośrednictwem argumentu –model.
Obiekty PipelineData są również używane podczas konstruowania potoków w celu opisania zależności kroków. Aby określić, że krok wymaga wykonania innego kroku jako danych wejściowych, użyj obiektu PipelineData w konstruktorze obu kroków.
Na przykład krok trenowania 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 najpierw, a następnie po jego zakończeniu zostanie wykonany krok pociągu. Usługa Azure ML dostarczy dane wyjściowe wygenerowane przez krok procesu do kroku trenowania.
Zobacz tę stronę, aby uzyskać więcej przykładów użycia metody PipelineData do konstruowania potoku: https://aka.ms/pl-data-dep
W przypadku obsługiwanych typów obliczeniowych funkcja PipelineData może również służyć do określania sposobu tworzenia i wykorzystania danych przez przebieg. Istnieją dwie obsługiwane metody:
Instalacja (ustawienie domyślne): dane wejściowe lub wyjściowe są instalowane w magazynie lokalnym w węźle obliczeniowym, a zmienna środowiskowa jest ustawiana, która wskazuje ścieżkę tych danych ($AZUREML_DATAREFERENCE_name). Dla wygody można przekazać obiekt PipelineData jako jeden z argumentów do skryptu, na przykład przy użyciu
arguments
parametru PythonScriptStep, a obiekt rozpozna ścieżkę 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 Pipeline jako argumentu, użyj get_env_variable_name metody .Przekaż: określ odpowiadającą
output_path_on_compute
nazwę pliku lub katalogu, który zostanie wygenerowany przez skrypt. (Zmienne środowiskowe nie są używane w tym przypadku).
Metody
as_dataset |
Podwyższ poziom danych wyjściowych pośrednich do zestawu danych. Ten zestaw danych będzie istnieć po wykonaniu kroku. Należy pamiętać, że dane wyjściowe muszą być promowane, aby być zestawem danych w celu późniejszego użycia danych jako zestawu danych. Jeśli as_dataset nie jest wywoływana na danych wyjściowych, ale wywoływana tylko na danych wejściowych, będzie to wartość noop, a dane wejściowe nie będą używane jako zestaw danych. W poniższym przykładzie kodu przedstawiono poprawne użycie as_dataset:
|
as_download |
Korzystaj z elementu PipelineData jako pobierania. |
as_input |
Utwórz właściwość InputPortBinding i określ nazwę wejściową (ale użyj trybu domyślnego). |
as_mount |
Zajmij się ciągiem PipelineData jako instalacją. |
create_input_binding |
Utwórz powiązanie wejściowe. |
get_env_variable_name |
Zwróć nazwę zmiennej środowiskowej dla tej wartości PipelineData. |
as_dataset
Podwyższ poziom danych wyjściowych pośrednich do zestawu danych.
Ten zestaw danych będzie istnieć po wykonaniu kroku. Należy pamiętać, że dane wyjściowe muszą być promowane, aby być zestawem danych w celu późniejszego użycia danych jako zestawu danych. Jeśli as_dataset nie jest wywoływana na danych wyjściowych, ale wywoływana tylko na danych wejściowych, będzie to wartość noop, a dane wejściowe nie będą używane jako zestaw danych. W poniższym przykładzie kodu przedstawiono poprawne 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
Dane wyjściowe pośrednie jako zestaw danych.
Typ zwracany
as_download
Korzystaj z elementu PipelineData jako pobierania.
as_download(input_name=None, path_on_compute=None, overwrite=None)
Parametry
- input_name
- str
Użyj polecenia , aby określić nazwę dla tych danych wejściowych.
Zwraca
Element InputPortBinding z tą wartością PipelineData jako źródłem.
Typ zwracany
as_input
Utwórz właściwość InputPortBinding i określ nazwę wejściową (ale użyj trybu domyślnego).
as_input(input_name)
Parametry
Zwraca
Element InputPortBinding z tą wartością PipelineData jako źródłem.
Typ zwracany
as_mount
Zajmij się ciągiem PipelineData jako instalacją.
as_mount(input_name=None)
Parametry
- input_name
- str
Użyj polecenia , aby określić nazwę dla tych danych wejściowych.
Zwraca
Element InputPortBinding z tą wartością PipelineData jako źródłem.
Typ zwracany
create_input_binding
Utwórz powiązanie wejściowe.
create_input_binding(input_name=None, mode=None, path_on_compute=None, overwrite=None)
Parametry
- mode
- str
Tryb uzyskiwania dostępu do elementu PipelineData ("mount" lub "download").
- path_on_compute
- str
W przypadku trybu pobierania ścieżka obliczeniowa, w którym będą przechowywane dane.
- overwrite
- bool
W przypadku trybu pobierania określ, czy zastąpić istniejące dane.
Zwraca
Element InputPortBinding z tą wartością PipelineData jako źródłem.
Typ zwracany
get_env_variable_name
Zwróć nazwę zmiennej środowiskowej dla tej wartości PipelineData.
get_env_variable_name()
Zwraca
Nazwa zmiennej środowiskowej.
Typ zwracany
Atrybuty
data_type
datastore
Magazyn danych, w którym będzie znajdować się pipelineData.
Zwraca
Obiekt Magazyn danych.
Typ zwracany
name
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