HyperDriveStep Klasa
Tworzy krok potoku usługi Azure ML w celu uruchomienia łączenia hiperparametrów na potrzeby trenowania modelu usługi Machine Learning.
Przykład użycia funkcji HyperDriveStep można znaleźć w notesie https://aka.ms/pl-hyperdrive.
Utwórz krok potoku usługi Azure ML, aby uruchomić kwantowanie hiperparametryczne na potrzeby trenowania modelu usługi Machine Learning.
- Dziedziczenie
-
HyperDriveStep
Konstruktor
HyperDriveStep(name, hyperdrive_config, estimator_entry_script_arguments=None, inputs=None, outputs=None, metrics_output=None, allow_reuse=True, version=None)
Parametry
- hyperdrive_config
- HyperDriveConfig
[Wymagane] Funkcja HyperDriveConfig, która definiuje konfigurację przebiegu funkcji HyperDrive.
- estimator_entry_script_arguments
- list
Lista argumentów wiersza polecenia dla skryptu wpisu narzędzia do szacowania. Jeśli skrypt wejściowy narzędzia do szacowania nie akceptuje argumentów wiersza polecenia, ustaw tę wartość parametru na pustą listę.
- inputs
- list[Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference, PortDataReference, PipelineData, DatasetConsumptionConfig]]
Lista powiązań portów wejściowych.
- outputs
- list[Union[PipelineData, OutputDatasetConfig, PipelineOutputAbstractDataset, OutputPortBinding]]
Lista powiązań portów wyjściowych
- metrics_output
- Union[PipelineData, DataReference, OutputPortBinding]
Opcjonalna wartość określająca lokalizację do przechowywania metryk uruchamiania funkcji HyperDrive jako pliku JSON.
- 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 przebiegu są natychmiast udostępniane wszystkim 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.
- hyperdrive_config
- HyperDriveConfig
[Wymagane] Funkcja HyperDriveConfig, która definiuje konfigurację przebiegu funkcji HyperDrive.
- estimator_entry_script_arguments
- list
Lista argumentów wiersza polecenia dla skryptu wpisu narzędzia do szacowania. Jeśli skrypt wejściowy narzędzia do szacowania nie akceptuje argumentów wiersza polecenia, ustaw tę wartość parametru na pustą listę.
- inputs
- list[Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference, PortDataReference, PipelineData, DatasetConsumptionConfig]]
Lista powiązań portów wejściowych.
Lista powiązań portów wyjściowych.
- metrics_output
- Union[PipelineData, DataReference, OutputPortBinding]
Opcjonalna wartość określająca lokalizację do przechowywania metryk uruchamiania funkcji HyperDrive jako pliku JSON.
- 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 przebiegu są natychmiast udostępniane wszystkim 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.
Uwagi
Należy pamiętać, że argumenty skryptu wejściowego używanego w obiekcie narzędzia do szacowania (np TensorFlow . obiekt) muszą być określone jako lista przy użyciu parametru estimator_entry_script_arguments
podczas tworzenia wystąpienia obiektu HyperDriveStep. Parametr script_params
narzędzia do szacowania akceptuje słownik. estimator_entry_script_argument
Jednak parametr oczekuje argumentów jako listy.
Inicjowanie funkcji HyperDriveStep obejmuje określenie listy DataReference obiektów z parametrem inputs
. W usłudze Azure ML Pipelines krok potoku może wykonać dane wyjściowe innego kroku lub obiekty DataReference jako dane wejściowe. W związku z tym podczas tworzenia funkcji HyperDriveStep inputs
parametry i outputs
należy ustawić jawnie, co zastępuje inputs
parametr określony w obiekcie narzędzia do szacowania.
Najlepszym rozwiązaniem do pracy z funkcją HyperDriveStep jest użycie oddzielnego folderu dla skryptów i wszelkich plików zależnych skojarzonych z krokiem, a następnie określenie tego folderu jako obiektu source_directory
narzędzia do szacowania . Na przykład zobacz source_directory
parametr TensorFlow klasy . Ma to dwie korzyści. Najpierw pomaga zmniejszyć rozmiar migawki utworzonej dla kroku, ponieważ tylko to, co jest potrzebne do wykonania kroku, jest migawek. Po drugie, dane wyjściowe kroku z poprzedniego przebiegu można ponownie użyć, jeśli nie zostaną wprowadzone żadne zmiany source_directory
, które wyzwoliłyby ponowne przekazanie migawki.
W poniższym przykładzie pokazano, jak używać funkcji HyperDriveStep w potoku usługi Azure Machine Learning.
metrics_output_name = 'metrics_output'
metrics_data = PipelineData(name='metrics_data',
datastore=datastore,
pipeline_output_name=metrics_output_name,
training_output=TrainingOutput("Metrics"))
model_output_name = 'model_output'
saved_model = PipelineData(name='saved_model',
datastore=datastore,
pipeline_output_name=model_output_name,
training_output=TrainingOutput("Model",
model_file="outputs/model/saved_model.pb"))
hd_step_name='hd_step01'
hd_step = HyperDriveStep(
name=hd_step_name,
hyperdrive_config=hd_config,
inputs=[data_folder],
outputs=[metrics_data, saved_model])
Pełna próbka jest dostępna w witrynie https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-parameter-tuning-with-hyperdrive.ipynb
Metody
create_node |
Utwórz węzeł na podstawie kroku funkcji HyperDrive i dodaj go do danego grafu. Ta metoda nie jest przeznaczona do bezpośredniego użycia. Po utworzeniu wystąpienia potoku w tym kroku usługa Azure ML automatycznie przekazuje wymagane parametry za pośrednictwem tej metody, aby można było dodać krok do grafu potoku reprezentującego przepływ pracy. |
create_node
Utwórz węzeł na podstawie kroku funkcji HyperDrive i dodaj go do danego grafu.
Ta metoda nie jest przeznaczona do bezpośredniego użycia. Po utworzeniu wystąpienia potoku w tym kroku usługa Azure ML automatycznie przekazuje wymagane parametry za pośrednictwem tej metody, aby można było dodać krok do grafu 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