core Pakiet

Zawiera podstawowe funkcje potoków usługi Azure Machine Learning, które można konfigurować przepływy pracy uczenia maszynowego.

Potoki usługi Azure Machine Learning umożliwiają tworzenie przepływów pracy uczenia maszynowego wielokrotnego użytku, które mogą być używane jako szablon dla scenariuszy uczenia maszynowego. Ten pakiet zawiera podstawowe funkcje pracy z potokami usługi Azure ML i jest zwykle używany wraz z klasami w pakiecie steps .

Potok uczenia maszynowego jest reprezentowany przez kolekcję PipelineStep obiektów, które mogą być sekwencjonowane i zrównoleglenione lub tworzone z jawnymi zależnościami między krokami. Kroki potoku służą do definiowania obiektu reprezentującego Pipeline przepływ pracy do wykonania. Potoki można tworzyć i pracować z potokami w Jupyter Notebook lub innym środowisku IDE z zainstalowanym zestawem Azure ML SDK.

Potoki usługi Azure ML umożliwiają skoncentrowanie się na uczeniu maszynowym, a nie na infrastrukturze. Aby rozpocząć tworzenie potoku, zobacz https://aka.ms/pl-first-pipeline.

Aby uzyskać więcej informacji na temat zalet potoku uczenia maszynowego i tego, jak jest on powiązany z innymi potokami oferowanymi przez platformę Azure, zobacz Co to są potoki uczenia maszynowego w usłudze Azure Machine Learning Service?

Moduły

builder

Definiuje klasy do tworzenia potoku usługi Azure Machine Learning.

Wykres potoku składa się z kroków potoku (), opcjonalnych danych potoku (PipelineStepPipelineData) generowanych lub używanych w każdym kroku oraz opcjonalnej sekwencji wykonywania kroku (StepSequence).

graph

Definiuje klasy do tworzenia grafów potoków usługi Azure Machine Learning.

Wykresy potoków usługi Azure ML są tworzone dla Pipeline obiektów, gdy używasz PipelineStep (i klas pochodnych), PipelineDatai PipelineData obiektów. W typowych przypadkach użycia nie trzeba bezpośrednio używać klas w tym module.

Wykres uruchomienia potoku składa się z węzłów modułu, które reprezentują podstawowe jednostki, takie jak źródło danych lub krok. Węzły mogą mieć porty wejściowe i porty wyjściowe oraz skojarzone parametry. Krawędzie definiują relacje między dwoma portami węzłów na grafie.

module

Zawiera klasy służące do tworzenia jednostek obliczeniowych wielokrotnego użytku potoku usługi Azure Machine Learning i zarządzania nimi.

Moduły umożliwiają tworzenie jednostek obliczeniowych w obiekcie Pipeline, które mogą mieć dane wejściowe, wyjściowe i polegać na parametrach oraz konfiguracji środowiska do działania. Moduł może być w wersji i używany w różnych potokach usługi Azure Machine Learning w przeciwieństwie do PipelineStep (i klas pochodnych), które są używane w jednym potoku.

Moduły są przeznaczone do ponownego użycia w kilku potokach i mogą ewoluować w celu dostosowania określonej logiki obliczeniowej do różnych przypadków użycia. Krok w potoku może być używany w szybkich iteracji w celu poprawy algorytmu, a po osiągnięciu celu algorytm jest zwykle publikowany jako moduł umożliwiający ponowne użycie.

module_step_base

Zawiera funkcje dodawania kroku do potoku przy użyciu wersji elementu Module.

pipeline

Definiuje klasę do tworzenia przepływów pracy usługi Azure Machine Learning wielokrotnego użytku.

pipeline_draft

Definiuje klasy do zarządzania potokami modyfikowalnymi.

pipeline_endpoint

Definiuje klasy do zarządzania potokami, w tym przechowywanie wersji i punktów końcowych.

pipeline_output_dataset

Zawiera funkcje podwyższania poziomu danych wyjściowych pośrednich do zestawu danych usługi Azure Machine Learning.

Dane pośrednie (dane wyjściowe) w potoku domyślnie nie staną się zestawem danych usługi Azure Machine Learning. Aby podwyższyć poziom danych pośrednich do zestawu danych usługi Azure Machine Learning, wywołaj as_dataset metodę PipelineOutputFileDataset w klasie PipelineData, aby zwrócić obiekt. Z obiektu PipelineOutputFileDataset można utworzyć PipelineOutputTabularDataset obiekt.

run

Definiuje klasy dla przesłanych potoków, w tym klasy do sprawdzania stanu i pobierania szczegółów przebiegu.

schedule

Definiuje klasy do planowania przesyłania potoków usługi Azure Machine Learning.

Klasy

InputPortBinding

Definiuje powiązanie ze źródła do danych wejściowych kroku potoku.

Element InputPortBinding może służyć jako dane wejściowe do kroku. Źródłem może być PipelineDataelement , PortDataReference, , DataReferencePipelineDatasetlub OutputPortBinding.

Funkcja InputPortBinding jest przydatna do określenia nazwy danych wejściowych kroku, jeśli powinna być inna niż nazwa obiektu powiązania (tj. aby uniknąć zduplikowanych nazw danych wejściowych/wyjściowych lub ponieważ skrypt kroku potrzebuje danych wejściowych, aby mieć określoną nazwę). Można go również użyć do określenia bind_mode dla PythonScriptStep danych wejściowych.

Inicjowanie elementu InputPortBinding.

Module

Reprezentuje jednostkę obliczeniową używaną w potoku usługi Azure Machine Learning.

Moduł to kolekcja plików, które będą uruchamiane na obiekcie docelowym obliczeniowym i opis interfejsu. Kolekcja plików może być skryptem, plikami binarnymi lub innymi plikami wymaganymi do wykonania w docelowym obiekcie obliczeniowym. Interfejs modułu opisuje dane wejściowe, dane wyjściowe i definicje parametrów. Nie wiąże ich z określonymi wartościami ani danymi. Moduł ma skojarzona z nim migawkę, która przechwytuje kolekcję plików zdefiniowanych dla modułu.

Inicjowanie modułu.

ModuleVersion

Reprezentuje rzeczywistą jednostkę obliczeniową w obiekcie Module.

Nie należy używać tej klasy bezpośrednio. Zamiast tego użyj jednej z metod publikowania Module klasy .

Inicjowanie modułuWersja.

ModuleVersionDescriptor

Definiuje wersję i identyfikator elementu ModuleVersion.

Inicjowanie modułuVersionDescriptor.

OutputPortBinding

Definiuje nazwane dane wyjściowe kroku potoku.

Parametr OutputPortBinding może służyć do określania typu danych, które będą generowane przez krok i sposobu produkcji danych. Można go użyć InputPortBinding do określenia, że dane wyjściowe kroku są wymaganymi danymi wejściowymi innego kroku.

Inicjowanie elementu OutputPortBinding.

Pipeline

Reprezentuje kolekcję kroków, które można wykonać jako przepływ pracy usługi Azure Machine Learning wielokrotnego użytku.

Użyj potoku, aby utworzyć przepływy pracy, które łączą różne fazy uczenia maszynowego i zarządzać nimi. Każda faza uczenia maszynowego, taka jak przygotowywanie danych i trenowanie modelu, może składać się z co najmniej jednego kroku w potoku.

Aby zapoznać się z omówieniem dlaczego i kiedy używać potoków, zobacz https://aka.ms/pl-concept.

Aby zapoznać się z omówieniem tworzenia potoku, zobacz https://aka.ms/pl-first-pipeline.

Inicjowanie potoku.

PipelineData

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.

PipelineDataset

Działa jako adapter dla zestawu danych i potoku.

Uwaga

Ta klasa jest przestarzała. Dowiedz się, jak używać zestawu danych z potokiem, zobacz https://aka.ms/pipeline-with-dataset.

Jest to klasa wewnętrzna. Nie należy tworzyć tej klasy bezpośrednio, ale zamiast wywoływać metody wystąpienia as_* w klasach Dataset lub OutputDatasetConfig.

Pełni rolę adaptera dla zestawu danych i potoku.

Jest to klasa wewnętrzna. Nie należy tworzyć tej klasy bezpośrednio, ale zamiast wywoływać metody wystąpienia as_* w klasach Dataset lub OutputDatasetConfig.

PipelineDraft

Reprezentuje potok modyfikowalny, który może służyć do przesyłania przebiegów i tworzenia opublikowanych potoków.

Użyj usługi PipelineDrafts, aby iterować potoki. Potoki można utworzyć od podstaw, innego potoku PipelineDraft lub istniejących potoków: Pipeline, PublishedPipelinelub PipelineRun.

Inicjowanie potokuDraft.

PipelineEndpoint

Pipeline Reprezentuje przepływ pracy, który można wyzwolić z unikatowego adresu URL punktu końcowego.

Punkty potoku można używać do tworzenia nowych wersji elementu PublishedPipeline przy zachowaniu tego samego punktu końcowego. Punkty potoku są unikatowo nazwane w obszarze roboczym.

Za pomocą atrybutu punktu końcowego obiektu PipelineEndpoint można wyzwolić nowe uruchomienia potoku z aplikacji zewnętrznych za pomocą wywołań REST. Aby uzyskać informacje o sposobie uwierzytelniania podczas wywoływania punktów końcowych REST, zobacz https://aka.ms/pl-restep-auth.

Aby uzyskać więcej informacji na temat tworzenia i uruchamiania potoków uczenia maszynowego, zobacz https://aka.ms/pl-first-pipeline.

Inicjowanie potokuEndpoint.

PipelineParameter

Definiuje parametr w wykonaniu potoku.

Użyj parametrów PipelineParameters, aby utworzyć uniwersalne potoki, które można ponownie przesłać później z różnych wartości parametrów.

Inicjowanie parametrów potoku.

PipelineRun

Reprezentuje przebieg elementu Pipeline.

Ta klasa może służyć do zarządzania, sprawdzania stanu i pobierania szczegółów przebiegu po przesłaniu przebiegu potoku. Służy get_steps do pobierania StepRun obiektów utworzonych przez przebieg potoku. Inne zastosowania obejmują Graph pobieranie obiektu skojarzonego z uruchomieniem potoku, pobieranie stanu uruchomienia potoku i oczekiwanie na ukończenie przebiegu.

Inicjowanie uruchomienia potoku.

PipelineStep

Reprezentuje krok wykonywania w potoku usługi Azure Machine Learning.

Potoki są tworzone na podstawie wielu kroków potoku, które są odrębnymi jednostkami obliczeniowymi w potoku. Każdy krok może działać niezależnie i korzystać z izolowanych zasobów obliczeniowych. Każdy krok zazwyczaj ma własne nazwane dane wejściowe, dane wyjściowe i parametry.

Klasa PipelineStep jest klasą bazową, z której inne wbudowane klasy kroków zaprojektowane dla typowych scenariuszy dziedziczą, takie jak PythonScriptStep, DataTransferStepi HyperDriveStep.

Aby zapoznać się z omówieniem relacji potoków i potoków, zobacz Co to są potoki uczenia maszynowego.

Zainicjuj potokKrok.

PortDataReference

Modeluje dane skojarzone z danymi wyjściowymi ukończonego krokuUruchomienie.

Obiekt PortDataReference może służyć do pobierania danych wyjściowych utworzonych przez obiekt StepRun. Można go również użyć jako danych wejściowych kroku w przyszłym potoku.

Zainicjuj portDataReference.

PublishedPipeline

Reprezentuje potok do przesłania bez kodu w języku Python, który go skonstruował.

Ponadto funkcja PublishedPipeline może służyć do ponownego przesłanie elementu Pipeline z różnymi PipelineParameter wartościami i danymi wejściowymi.

Zainicjuj wartość PublishedPipeline.

:p aram punkt końcowy ADRESU URL punktu końcowego REST do przesyłania przebiegów potoku dla tego potoku. :type endpoint: str :p aram total_run_steps: liczba kroków w tym potoku :type total_run_steps: int :p aram workspace: obszar roboczy opublikowanego potoku. :type workspace: azureml.core.Workspace :p aram continue_on_step_failure: czy kontynuować wykonywanie innych kroków w potokuUruchom

Jeśli krok zakończy się niepowodzeniem, wartość domyślna to false.

Schedule

Definiuje harmonogram przesyłania potoku.

Po opublikowaniu potoku harmonogram może służyć do przesyłania potoku w określonym interwale lub w przypadku wykrycia zmian w lokalizacji magazynu obiektów blob.

Zainicjuj harmonogram.

ScheduleRecurrence

Definiuje częstotliwość, interwał i czas rozpoczęcia potoku Schedule.

Funkcja ScheduleRecurrence umożliwia również określenie strefy czasowej oraz godzin lub minut lub dni tygodnia dla cyklu.

Inicjowanie cyklu harmonogramu.

Umożliwia również określenie strefy czasowej oraz godzin lub minut lub dni tygodnia dla cyklu.

StepRun

Uruchomienie kroku w obiekcie Pipeline.

Ta klasa może służyć do zarządzania, sprawdzania stanu i pobierania szczegółów przebiegu po przesłaniu uruchomienia potoku nadrzędnego, a potok przesłał przebieg kroku.

Inicjowanie krokuUruchomienie.

StepRunOutput

Reprezentuje dane wyjściowe utworzone przez element StepRun w potoku.

KrokRunOutput może służyć do uzyskiwania dostępu do utworzonego PortDataReference przez krok.

Zainicjuj wartość StepRunOutput.

StepSequence

Reprezentuje listę kroków w obiekcie Pipeline i kolejność ich wykonywania.

Użyj krokuSekwencja podczas inicjowania potoku, aby utworzyć przepływ pracy zawierający kroki do uruchomienia w określonej kolejności.

Zainicjuj krokSequence.

TrainingOutput

Definiuje wyspecjalizowane dane wyjściowe niektórych elementów PipelineSteps do użycia w potoku.

TrainingOutput umożliwia udostępnienie metryki lub modelu zautomatyzowanego uczenia maszynowego jako danych wyjściowych kroku, które mają być używane przez inny krok w potoku usługi Azure Machine Learning. Może być używany z programem AutoMLStep lub HyperDriveStep.

Zainicjuj wartość TrainingOutput.

param model_file: określony plik modelu, który ma zostać uwzględniony w danych wyjściowych. Tylko dla HyperDriveStep .

Wyliczenia

TimeZone

Wylicza prawidłowe strefy czasowe dla cyklu Schedule.