CommandStep Класс
Создание этапа конвейера Azure ML, который выполняет команду.
Создание этапа конвейера Azure ML, который выполняет команду.
- Наследование
-
azureml.pipeline.core._python_script_step_base._PythonScriptStepBaseCommandStep
Конструктор
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)
Параметры
Команда для выполнения или путь к исполняемому файлу или скрипту относительно 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
Необязательный тег версии для обозначения изменения функциональных возможностей этапа.
Команда для выполнения или путь к исполняемому файлу или скрипту относительно source_directory
.
Требуется, если только он не предоставляется с помощью runconfig. Можно указать с помощью строковых аргументов в одной строке или с помощью параметра input/output/PipelineParameter в списке.
- 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)
Параметры
- default_datastore
- AbstractAzureStorageDatastore или AzureDataLakeDatastore
Хранилище данных по умолчанию.
- context
- <xref:_GraphContext>
Контекст графа.
Возвращаемое значение
Созданный узел.
Возвращаемый тип
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по