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


CommandStep Класс

Создайте шаг Конвейера машинного обучения Azure, выполняющий команду.

Создайте шаг Конвейера машинного обучения Azure, выполняющий команду.

Конструктор

CommandStep(command=None, name=None, compute_target=None, runconfig=None, runconfig_pipeline_params=None, inputs=None, outputs=None, params=None, source_directory=None, allow_reuse=True, version=None)

Параметры

Имя Описание
command
list или str

Команда для выполнения или пути исполняемого файла или скрипта относительно source_directory. Он требуется, если он не предоставляется с помощью runconfig. Его можно указать со строковыми аргументами в одной строке или с помощью входных и выходных данных/PipelineParameter в списке.

Default value: None
name
str

Имя шага. Если не указано, используется первое слово в этом документе command .

Default value: None
compute_target
DsvmCompute или AmlCompute или RemoteCompute или HDInsightCompute или str или tuple

Целевой объект вычислений, используемый. Если оно не указано, используется целевой runconfig объект. Этот параметр может быть указан как целевой объект вычислений или имя строки целевого объекта вычислений в рабочей области. При необходимости, если целевой объект вычислений недоступен во время создания конвейера, можно указать кортеж (имя целевого объекта вычислений, тип целевого объекта вычислений), чтобы избежать получения целевого объекта вычислений (тип AmlCompute — AmlCompute, а тип RemoteCompute — VirtualMachine).

Default value: None
runconfig

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

Default value: None
runconfig_pipeline_params
<xref:<xref:{str: PipelineParameter}>>

Переопределяет свойства runconfig во время выполнения, используя пары "ключ-значение" с именем свойства runconfig и PipelineParameter для этого свойства.

Поддерживаемые значения: NodeCount, MpiProcessCountPerNode, TensorflowWorkerCount, TensorflowParameterServerCount

Default value: None
inputs
list[InputPortBinding или DataReference или PortDataReference или PipelineData или <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset> или DatasetConsumptionConfig]

Список входных привязок портов.

Default value: None
outputs

Список привязок выходного порта.

Default value: None
params

Словарь пар "имя-значение", зарегистрированных в качестве переменных среды с "AML_PARAMETER_".

Default value: None
source_directory
str

Папка, содержащая скрипты, conda env и другие ресурсы, используемые на шаге.

Default value: None
allow_reuse

Указывает, должен ли шаг повторно использовать предыдущие результаты при повторном запуске с теми же параметрами. Повторное использование включено по умолчанию. Если содержимое шага (скрипты или зависимости), а также входные и параметры остаются неизменными, выходные данные предыдущего выполнения этого шага повторно будут использоваться. При повторном использовании шага вместо отправки задания на вычисление результаты предыдущего запуска немедленно становятся доступными для всех последующих шагов. Если вы используете наборы данных Машинного обучения Azure в качестве входных данных, повторное использование определяется тем, изменилось ли определение набора данных, а не по изменению базовых данных.

Default value: True
version
str

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

Default value: None
command
Обязательно
list или str

Команда для выполнения или пути исполняемого файла или скрипта относительно source_directory. Он требуется, если он не предоставляется с помощью runconfig. Его можно указать со строковыми аргументами в одной строке или с помощью входных и выходных данных/PipelineParameter в списке.

name
Обязательно
str

Имя шага. Если не указано, используется первое слово в этом документе command .

compute_target
Обязательно
DsvmCompute или AmlCompute или RemoteCompute или HDInsightCompute или str или tuple

Целевой объект вычислений, используемый. Если оно не указано, используется целевой runconfig объект. Этот параметр может быть указан как целевой объект вычислений или имя строки целевого объекта вычислений в рабочей области. При необходимости, если целевой объект вычислений недоступен во время создания конвейера, можно указать кортеж (имя целевого объекта вычислений, тип целевого объекта вычислений), чтобы избежать получения целевого объекта вычислений (тип AmlCompute — AmlCompute, а тип RemoteCompute — VirtualMachine).

runconfig
Обязательно

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

runconfig_pipeline_params
Обязательно
<xref:<xref:{str: PipelineParameter}>>

Переопределяет свойства runconfig во время выполнения, используя пары "ключ-значение" с именем свойства runconfig и PipelineParameter для этого свойства.

Поддерживаемые значения: NodeCount, MpiProcessCountPerNode, TensorflowWorkerCount, TensorflowParameterServerCount

inputs
Обязательно
list[InputPortBinding или DataReference или PortDataReference или PipelineData или <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset> или DatasetConsumptionConfig]

Список входных привязок портов.

outputs
Обязательно

Список привязок выходного порта.

params
Обязательно

Словарь пар "имя-значение", зарегистрированных в качестве переменных среды с "AML_PARAMETER_".

source_directory
Обязательно
str

Папка, содержащая скрипты, conda env и другие ресурсы, используемые на шаге.

allow_reuse
Обязательно

Указывает, должен ли шаг повторно использовать предыдущие результаты при повторном запуске с теми же параметрами. Повторное использование включено по умолчанию. Если содержимое шага (скрипты или зависимости), а также входные и параметры остаются неизменными, выходные данные предыдущего выполнения этого шага повторно будут использоваться. При повторном использовании шага вместо отправки задания на вычисление результаты предыдущего запуска немедленно становятся доступными для всех последующих шагов. Если вы используете наборы данных Машинного обучения Azure в качестве входных данных, повторное использование определяется тем, изменилось ли определение набора данных, а не по изменению базовых данных.

version
Обязательно
str

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

Комментарии

CommandStep — это базовый встроенный шаг для выполнения команды в заданном целевом объекте вычислений. Она принимает команду в качестве параметра или из других параметров, таких как runconfig. Он также принимает другие необязательные параметры, такие как целевой объект вычислений, входные и выходные данные. Необходимо использовать ScriptRunConfig или RunConfiguration указать требования для CommandStep, например пользовательского образа Docker.

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

Для известных source_directory системой команд не требуется, но его можно предоставить с любыми зависимыми файлами, связанными с шагом.

В следующем примере кода показано, как использовать CommandStep в сценарии обучения машинного обучения. Список файлов в Linux:


   from azureml.pipeline.steps import CommandStep

   trainStep = CommandStep(name='list step',
                           command='ls -lrt',
                           compute_target=compute_target)

Чтобы запустить скрипт Python, выполните следующие действия.


   from azureml.pipeline.steps import CommandStep

   trainStep = CommandStep(name='train step',
                           command='python train.py arg1 arg2',
                           source_directory=project_folder,
                           compute_target=compute_target)

Чтобы запустить скрипт Python с помощью ScriptRunConfig, выполните следующие действия:


   from azureml.core import ScriptRunConfig
   from azureml.pipeline.steps import CommandStep

   train_src = ScriptRunConfig(source_directory=script_folder,
                               command='python train.py arg1 arg2',
                               environment=my_env)
   trainStep = CommandStep(name='train step',
                           runconfig=train_src)

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

Методы

create_node

Создайте узел для CommandStep и добавьте его в указанный граф.

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

create_node

Создайте узел для CommandStep и добавьте его в указанный граф.

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

create_node(graph, default_datastore, context)

Параметры

Имя Описание
graph
Обязательно

Объект graph, в который добавляется узел.

default_datastore
Обязательно

Хранилище данных по умолчанию.

context
Обязательно
<xref:_GraphContext>

Контекст графа.

Возвращаемое значение

Тип Описание

Созданный узел.