Поделиться через


core Пакет

Содержит основные функциональные возможности для конвейеров Машинного обучения Azure, которые являются настраиваемыми рабочими процессами машинного обучения.

Конвейеры Машинного обучения Azure позволяют создавать повторно используемые рабочие процессы машинного обучения, которые можно использовать в качестве шаблона для сценариев машинного обучения. Этот пакет содержит основные функциональные возможности для работы с конвейерами Azure ML и обычно используется вместе с классами в пакете steps.

Конвейер машинного обучения представлен коллекцией объектов PipelineStep, которые могут выполняться последовательно и параллельно или создаваться с явными зависимостями между шагами. Шаги конвейера используются для определения объекта Pipeline, который представляет рабочий процесс для выполнения. Вы можете создавать конвейеры и работать с ними в Jupyter Notebook или любой другой IDE с установленным пакетом SDK для Azure ML.

Конвейеры Azure ML позволяют сосредоточиться на машинном обучении, а не на инфраструктуре. Сведения о сборке конвейера: https://aka.ms/pl-first-pipeline.

Дополнительные сведения о преимуществах конвейера Машинного обучения и о том, как он связан с другими конвейерами, предлагаемыми Azure, см. в статье Что такое конвейеры ML в службе Машинного обучения Azure?

Модули

builder

Определяет классы для создания конвейера Машинного обучения Azure.

Граф конвейера состоит из этапов конвейера (PipelineStep) и может дополнительно включать данные конвейера (PipelineData), созданные или используемые на каждом этапе, и последовательность выполнения этапов (StepSequence).

graph

Определяет классы для конструирования графов конвейеров Машинного обучения Azure.

Графы конвейеров Azure ML создаются для объектов Pipeline при использовании объектов PipelineStep (и производных классов), PipelineData и PipelineData. При обычных вариантах использования вам не потребуется напрямую использовать классы в этом модуле.

Граф выполнения конвейера состоит из узлов модуля, представляющих базовые единицы, такие как источник данных или этап. Узлы могут иметь порты ввода и порты вывода, а также связанные параметры. Границы определяют отношения между двумя портами узла в графе.

module

Содержит классы для создания повторно используемых вычислительных единиц конвейера Машинного обучения Azure и управления ими.

Модули позволяют создавать вычислительные единицы в Pipeline, которые могут иметь входные и выходные данные, а также использовать параметры и конфигурацию среды для работы. Модуль может иметь версии; его можно использовать в разных конвейерах Машинного обучения Azure в отличие от PipelineStep (и производных классов), которые используются в одном конвейере.

Модули предназначены для многократного использования в нескольких конвейерах и могут развиваться для принятия определенной логики вычислений для различных вариантов использования. Этап в конвейере можно использовать в быстрых итерациях для улучшения алгоритма, а после достижения цели алгоритм обычно публикуется в качестве модуля для повторного использования.

module_step_base

Содержит функциональные возможности для добавления этапа в конвейер с помощью версии Module.

pipeline

Определяет класс для создания рабочих процессов Машинного обучения Azure для повторного использования.

pipeline_draft

Определяет классы для управления изменяемыми конвейерами.

pipeline_endpoint

Определяет классы для управления конвейерами, включая управление версиями и конечные точки.

pipeline_output_dataset

Содержит функциональные возможности для повышения уровня промежуточных выходных данных до набора данных Машинного обучения Azure.

Промежуточные данные (выходные данные) в конвейере по умолчанию не станут набором данных Машинного обучения Azure. Чтобы повысить уровень промежуточных данных до набора данных Машинного обучения Azure, вызовите метод as_dataset класса PipelineData для возврата объекта PipelineOutputFileDataset. Затем можно создать объект PipelineOutputTabularDataset из объекта PipelineOutputFileDataset.

run

Определяет классы для отправленных конвейеров, включая классы для проверки состояния и получения сведений о выполнении.

schedule

Определяет классы для планирования отправок конвейеров Машинного обучения Azure.

Классы

InputPortBinding

Определяет привязку от источника к входным данным этапа конвейера.

InputPortBinding можно использовать в качестве входных данных для этапа. Источником может быть PipelineData, PortDataReference, DataReference, PipelineDataset или OutputPortBinding.

Класс InputPortBinding позволяет указать имя входных данных этапа, если оно должно отличаться от имени объекта привязки (во избежание дублирования имен входных и выходных данных или если скрипту этапа нужно, чтобы входные данные имели определенное имя). Его также можно использовать для указания bind_mode для входных данных PythonScriptStep.

Инициализируйте InputPortBinding.

Module

Представляет вычислительную единицу, используемую в конвейере Машинное обучение Azure.

Модуль — это коллекция файлов, которые будут выполняться в целевом объекте вычислений, и описание интерфейса. Коллекция файлов может быть скриптом, двоичными файлами или любыми другими файлами, необходимыми для выполнения в целевом объекте вычислений. Интерфейс модуля описывает входные и выходные данные, а также определения параметров. Он не привязывает их к конкретным значениям или данным. С модулем связан моментальный снимок, который фиксирует коллекцию файлов, определенных для модуля.

Инициализация модуля.

ModuleVersion

Представляет фактическую единицу вычисления в Module.

Этот класс не следует использовать напрямую. Вместо этого используйте один из методов публикации класса Module.

Инициализация ModuleVersion.

ModuleVersionDescriptor

Определяет версию и идентификатор ModuleVersion.

Инициализация ModuleVersionDescriptor.

OutputPortBinding

Определяет именованные выходные данные этапа конвейера.

Класс OutputPortBinding позволяет задать тип данных, которые будут создаваться на этапе, и способ их создания. Его можно использовать с InputPortBinding, чтобы указать, что выходные данные этапа являются обязательными входными данными для другого этапа.

Инициализация OutputPortBinding.

Pipeline

Представляет коллекцию этапов, которые могут выполняться как рабочий процесс Машинного обучения Azure для повторного использования.

Используйте конвейер для создания рабочих процессов, объединяющих различные этапы машинного обучения, и управления ими. Каждый этап машинного обучения, например подготовка данных и обучение модели, может состоять из одного или нескольких этапов в конвейере.

Общие сведения о том, почему и когда следует использовать конвейеры: https://aka.ms/pl-concept.

Общие сведения о построении конвейера: https://aka.ms/pl-first-pipeline.

Инициализация конвейера.

PipelineData

Представляет промежуточные данные в конвейере Машинного обучения Azure.

Данные, применяемые в конвейере, могут создаваться на одном этапе и использоваться на другом за счет предоставления объекта PipelineData в качестве выходных данных одного этапа и входных данных для одного или нескольких последующих этапов.

Примечание. Если вы используете данные конвейера, убедитесь, что используемый каталог существовал.

Пример Python для проверки существования каталога: предположим, у вас есть порт вывода с именем output_folder на одном этапе конвейера и в этой папке необходимо записать данные в относительный путь.


   import os
   os.makedirs(args.output_folder, exist_ok=True)
   f = open(args.output_folder + '/relative_path/file_name', 'w+')

PipelineData использует базовый объект DataReference, который больше не рекомендуется задействовать для обеспечения доступа к данным и их доставки. Вместо этого используйте OutputFileDatasetConfig. Пример можно найти здесь: Конвейер, использующий OutputFileDatasetConfig.

Инициализация PipelineData.

PipelineDataset

Выступает в качестве адаптера для набора данных и конвейера.

Примечание

Этот класс устарел. Информацию об использовании набора данных с конвейером см в статье https://aka.ms/pipeline-with-dataset.

Это внутренний класс. Этот класс не следует создавать напрямую. Лучше вызывать методы экземпляра as_* классов DataSet или OutputDatasetConfig.

Выступать в качестве адаптера для набора данных и конвейера.

Это внутренний класс. Этот класс не следует создавать напрямую. Лучше вызывать методы экземпляра as_* классов Dataset или OutputDatasetConfig.

PipelineDraft

Представляет изменяемый конвейер, который можно использовать для отправки выполнений и создания опубликованных конвейеров.

Используйте PipelineDrafts для выполнения итерации по конвейерам. PipelineDraft можно создать с нуля, из другого PipelineDraft или существующих конвейеров: Pipeline, PublishedPipeline или PipelineRun.

Инициализация PipelineDraft.

PipelineEndpoint

Представляет рабочий процесс Pipeline, который можно запустить из уникального URL-адреса конечной точки.

Объекты PipelineEndpoint можно использовать для создания новых версий PublishedPipeline, при этом сохраняя одну и ту же конечную точку. PipelineEndpoint имеют уникальные имена в пределах рабочей области.

С помощью атрибута конечной точки объекта PipelineEndpoint можно запускать новые выполнения конвейера из внешних приложений с помощью вызовов REST. Дополнительные сведения о проверке подлинности при вызове конечных точек REST см. здесь: https://aka.ms/pl-restep-auth.

Дополнительные сведения о создании и выполнении конвейеров машинного обучения: https://aka.ms/pl-first-pipeline.

Инициализация PipelineEndpoint.

PipelineParameter

Определяет параметр в выполнении конвейера.

Объекты PipelineParameter позволяют создавать универсальные конвейеры, которые можно повторно отправить позже, используя различные значения параметров.

Инициализация параметров конвейера.

PipelineRun

Представляет выполнение Pipeline.

Этот класс можно использовать для управления, проверки состояния и получения сведений о выполнении после отправки конвейера. Используйте get_steps для получения объектов StepRun, созданных при выполнении конвейера. Другие варианты использования включают получение объекта Graph, связанного с выполнением конвейера, получение состояния выполнения конвейера и ожидание завершения выполнения.

Инициализация выполнения конвейера.

PipelineStep

Представляет этап выполнения в конвейере Машинного обучения Azure.

Конвейеры состоят из нескольких этапов, которые являются отдельными вычислительными единицами. Каждый шаг может выполняться независимо и использовать изолированные вычислительные ресурсы. У каждого этапа обычно есть собственные именованные входные и выходные данные, а также параметры.

Класс PipelineStep — это базовый класс, который наследуют другие встроенные классы этапов для распространенных сценариев, такие как PythonScriptStep, DataTransferStep и HyperDriveStep.

Общие сведения о том, как связаны конвейеры и этапы, см. в статье Что такое конвейеры Машинного обучения Azure?.

Инициализация PipelineStep.

PortDataReference

Моделирует данные, связанные с выходными данными завершенного StepRun.

Объект PortDataReference можно использовать для загрузки выходных данных, созданных с помощью StepRun. Его также можно использовать в качестве входных данных этапа в будущем конвейере.

Инициализация PortDataReference.

PublishedPipeline

Представляет конвейер, который должен быть отправлен без кода Python, который его сконструировал.

Кроме того, PublishedPipeline можно использовать для повторной отправки Pipeline с другими значениями PipelineParameter и входными данными.

Инициализация PublishedPipeline.

:p конечная точкаaram URL-адрес конечной точки REST для отправки запусков конвейера для этого конвейера. :type endpoint: str :p aram total_run_steps: количество шагов в этом конвейере:type total_run_steps: int :p aram workspace: рабочая область опубликованного конвейера. :type workspace: azureml.core.Workspace :p aram continue_on_step_failure: следует ли продолжать выполнение других шагов в PipelineRun

Если шаг завершается сбоем, значение по умолчанию — false.

Schedule

Определяет расписание для отправки конвейера.

После публикации конвейера можно использовать расписание для отправки конвейера во время указанного интервала времени или при обнаружении изменений в расположении хранилища BLOB-объектов.

Инициализация расписания.

ScheduleRecurrence

Определяет частоту, интервал и время начала конвейера Schedule.

ScheduleRecurrence также позволяет указывать часовой пояс и часы, минуты или дни недели для повторения.

Инициализация повторения расписания.

Он также позволяет указать часовой пояс и часы, минуты или дни недели для повторения.

StepRun

Выполнение этапа в Pipeline.

Этот класс можно использовать для управления, проверки состояния и получения сведений о выполнении после отправки выполнения родительского конвейера и отправки выполнения этапа конвейером.

Инициализация StepRun.

StepRunOutput

Представляет выходные данные, созданные классом StepRun в конвейере.

StepRunOutput можно использовать для доступа к классу PortDataReference, созданному на этапе.

Инициализация StepRunOutput.

StepSequence

Представляет список этапов в Pipeline и порядок их выполнения.

Используйте StepSequence при инициализации конвейера, чтобы создать рабочий процесс, содержащий этапы для выполнения в определенном порядке.

Инициализация StepSequence.

TrainingOutput

Определяет специализированные выходные данные определенных классов PipelineStep для использования в конвейере.

TrainingOutput позволяет предоставить автоматическую метрику или модель машинного обучения в качестве выходных данных на этапе, которые будут использоваться другим этапом в конвейере Машинного обучения Azure. Можно использовать с AutoMLStep или HyperDriveStep.

Инициализация TrainingOutput.

param model_file: конкретный файл модели, который будет включен в выходные данные. Только для HyperDriveStep.

Перечисления

TimeZone

Перечисляет допустимые часовые пояса для повторения Schedule.