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


CommandStep Класс

Создание этапа конвейера Azure ML, который выполняет команду.

Создание этапа конвейера Azure ML, который выполняет команду.

Наследование
azureml.pipeline.core._python_script_step_base._PythonScriptStepBase
CommandStep

Конструктор

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
значение по умолчанию: None

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

name
str
значение по умолчанию: None

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

compute_target
DsvmCompute или AmlCompute или RemoteCompute или HDInsightCompute или str или tuple
значение по умолчанию: None

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

runconfig
ScriptRunConfig или RunConfiguration
значение по умолчанию: None

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

runconfig_pipeline_params
<xref:<xref:{str: PipelineParameter}>>
значение по умолчанию: None

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

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

inputs
list[InputPortBinding или DataReference или PortDataReference или PipelineData или <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset> или DatasetConsumptionConfig]
значение по умолчанию: None

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

outputs
list[PipelineData или OutputDatasetConfig или PipelineOutputAbstractDataset или OutputPortBinding]
значение по умолчанию: None

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

params
dict
значение по умолчанию: None

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

source_directory
str
значение по умолчанию: None

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

allow_reuse
bool
значение по умолчанию: True

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

version
str
значение по умолчанию: None

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

command
list или str
Обязательно

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

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

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

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

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

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

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

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
list[PipelineData или OutputDatasetConfig или PipelineOutputAbstractDataset или OutputPortBinding]
Обязательно

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

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

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

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

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

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

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

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

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

Комментарии

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

Для работы с CommandStep рекомендуется использовать отдельную папку для исполняемого файла или скрипта для выполнения зависимых файлов, связанных с этим этапом, и указать эту папку с помощью параметра 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 ML автоматически передает необходимые параметры через этот метод, чтобы данный этап можно было добавить в граф конвейера, представляющий рабочий процесс.

create_node

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

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

create_node(graph, default_datastore, context)

Параметры

graph
Graph
Обязательно

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

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

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

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

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

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

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

Возвращаемый тип