PythonScriptStep Класс
Создает шаг конвейера машинного обучения Azure, на котором выполняется скрипт Python.
Пример использования PythonScriptStep см. в записной книжке https://aka.ms/pl-get-started.
Создайте шаг конвейера машинного обучения Azure, который запускает скрипт Python.
Конструктор
PythonScriptStep(script_name, name=None, arguments=None, compute_target=None, runconfig=None, runconfig_pipeline_params=None, inputs=None, outputs=None, params=None, source_directory=None, allow_reuse=True, version=None, hash_paths=None)
Параметры
| Имя | Описание |
|---|---|
|
script_name
Обязательно
|
[Обязательный] Имя скрипта Python относительно |
|
name
|
Имя шага. Если не указано, Default value: None
|
|
arguments
|
Аргументы командной строки для файла скрипта Python. Аргументы будут переданы для вычислений Default value: None
|
|
compute_target
|
[Обязательный] Целевой объект вычислений, используемый. Если не указано, будет использоваться целевой объект из runconfig. Этот параметр может быть указан как целевой объект вычислений или имя строки целевого объекта вычислений в рабочей области. При необходимости, если целевой объект вычислений недоступен во время создания конвейера, можно указать кортеж (имя целевого объекта вычислений, тип целевого объекта вычислений), чтобы избежать получения целевого объекта вычислений (тип AmlCompute — AmlCompute, а тип RemoteCompute — VirtualMachine). Default value: None
|
|
runconfig
|
Необязательный параметр RunConfiguration для использования. RunConfiguration можно использовать для указания дополнительных требований для выполнения, таких как зависимости conda и образ Docker. Если не указано, будет создана конфигурация runconfig по умолчанию. Default value: None
|
|
runconfig_pipeline_params
|
Переопределяет свойства runconfig во время выполнения, используя пары "ключ-значение" с именем свойства runconfig и PipelineParameter для этого свойства. Поддерживаемые значения: NodeCount, MpiProcessCountPerNode, TensorflowWorkerCount, TensorflowParameterServerCount Default value: None
|
|
inputs
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
Список входных привязок портов. Default value: None
|
|
outputs
|
list[Union[PipelineData, OutputDatasetConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset, OutputPortBinding]]
Список привязок выходного порта. Default value: None
|
|
params
|
Словарь пар "имя-значение", зарегистрированных в качестве переменных среды с "AML_PARAMETER_". Default value: None
|
|
source_directory
|
Папка, содержащая скрипт Python, conda env и другие ресурсы, используемые на шаге. Default value: None
|
|
allow_reuse
|
Указывает, должен ли шаг повторно использовать предыдущие результаты при повторном запуске с теми же параметрами. Повторное использование включено по умолчанию. Если содержимое шага (скрипты или зависимости), а также входные и параметры остаются неизменными, выходные данные предыдущего выполнения этого шага повторно будут использоваться. При повторном использовании шага вместо отправки задания на вычисление результаты предыдущего запуска немедленно становятся доступными для всех последующих шагов. Если вы используете наборы данных Машинного обучения Azure в качестве входных данных, повторное использование определяется тем, изменилось ли определение набора данных, а не по изменению базовых данных. Default value: True
|
|
version
|
Необязательный тег версии, обозначающий изменение функциональных возможностей для шага. Default value: None
|
|
hash_paths
|
НЕ РЕКОМЕНДУЕТСЯ: больше не требуется. Список путей к хэшу при проверке изменений содержимого шага. Если не обнаружены изменения, конвейер повторно будет использовать содержимое шага из предыдущего запуска. По умолчанию содержимое Default value: None
|
|
script_name
Обязательно
|
[Обязательный] Имя скрипта Python относительно |
|
name
Обязательно
|
Имя шага. Если не указано, |
|
arguments
Обязательно
|
[str]
Аргументы командной строки для файла скрипта Python. Аргументы будут переданы для вычислений |
|
compute_target
Обязательно
|
[Обязательный] Целевой объект вычислений, используемый. Если не указано, будет использоваться целевой объект из runconfig. Этот параметр может быть указан как целевой объект вычислений или имя строки целевого объекта вычислений в рабочей области. При необходимости, если целевой объект вычислений недоступен во время создания конвейера, можно указать кортеж (имя целевого объекта вычислений, тип целевого объекта вычислений), чтобы избежать получения целевого объекта вычислений (тип AmlCompute — AmlCompute, а тип RemoteCompute — VirtualMachine). |
|
runconfig
Обязательно
|
Необязательный параметр RunConfiguration для использования. RunConfiguration можно использовать для указания дополнительных требований для выполнения, таких как зависимости conda и образ Docker. Если не указано, будет создана конфигурация runconfig по умолчанию. |
|
runconfig_pipeline_params
Обязательно
|
Переопределяет свойства runconfig во время выполнения, используя пары "ключ-значение" с именем свойства runconfig и PipelineParameter для этого свойства. Поддерживаемые значения: NodeCount, MpiProcessCountPerNode, TensorflowWorkerCount, TensorflowParameterServerCount |
|
inputs
Обязательно
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
Список входных привязок портов. |
|
outputs
Обязательно
|
list[Union[PipelineData, OutputDatasetConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset, OutputPortBinding]]
Список привязок выходного порта. |
|
params
Обязательно
|
<xref:<xref:{str: str}>>
Словарь пар "имя-значение". Зарегистрированы в качестве переменных среды с помощью AML_PARAMETER_>><<. |
|
source_directory
Обязательно
|
Папка, содержащая скрипт Python, conda env и другие ресурсы, используемые на шаге. |
|
allow_reuse
Обязательно
|
Указывает, должен ли шаг повторно использовать предыдущие результаты при повторном запуске с теми же параметрами. Повторное использование включено по умолчанию. Если содержимое шага (скрипты или зависимости), а также входные и параметры остаются неизменными, выходные данные предыдущего выполнения этого шага повторно будут использоваться. При повторном использовании шага вместо отправки задания на вычисление результаты предыдущего запуска немедленно становятся доступными для всех последующих шагов. Если вы используете наборы данных Машинного обучения Azure в качестве входных данных, повторное использование определяется тем, изменилось ли определение набора данных, а не по изменению базовых данных. |
|
version
Обязательно
|
Необязательный тег версии, обозначающий изменение функциональных возможностей для шага. |
|
hash_paths
Обязательно
|
НЕ РЕКОМЕНДУЕТСЯ: больше не требуется. Список путей к хэшу при проверке изменений содержимого шага. Если не обнаружены изменения, конвейер повторно будет использовать содержимое шага из предыдущего запуска. По умолчанию содержимое |
Комментарии
PythonScriptStep — это базовый встроенный шаг для запуска скрипта Python на целевом объекте вычислений. Он принимает имя скрипта и другие необязательные параметры, такие как аргументы для скрипта, целевого объекта вычислений, входных и выходных данных. Если целевой объект вычислений не указан, используется целевой объект вычислений по умолчанию для рабочей области. Вы также можете указать RunConfiguration требования для PythonScriptStep, например зависимостей conda и образа Docker.
Рекомендуется работать с PythonScriptStep, чтобы использовать отдельную папку для сценариев и любых зависимых файлов, связанных с шагом, и указать папку с параметром source_directory .
После этого рекомендуется воспользоваться двумя преимуществами. Во-первых, это помогает уменьшить размер моментального снимка, созданного для шага, так как для этого шага создается моментальный снимок только того, что необходимо. Во-вторых, выходные данные шага из предыдущего запуска можно повторно использовать, если нет изменений source_directory , которые активируют повторную отправку моментального снимка.
В следующем примере кода показано использование PythonScriptStep в сценарии обучения машинного обучения. Дополнительные сведения об этом примере см. в разделе https://aka.ms/pl-first-pipeline.
from azureml.pipeline.steps import PythonScriptStep
trainStep = PythonScriptStep(
script_name="train.py",
arguments=["--input", blob_input_data, "--output", output_data1],
inputs=[blob_input_data],
outputs=[output_data1],
compute_target=compute_target,
source_directory=project_folder
)
PythonScriptSteps поддерживает ряд типов входных и выходных данных. К ним относятся DatasetConsumptionConfig входные и выходные данные, а также OutputDatasetConfig входные PipelineOutputAbstractDatasetPipelineDataи выходные данные.
Ниже приведен пример использования Dataset в качестве входных и выходных данных шага:
from azureml.core import Dataset
from azureml.pipeline.steps import PythonScriptStep
from azureml.pipeline.core import Pipeline, PipelineData
# get input dataset
input_ds = Dataset.get_by_name(workspace, 'weather_ds')
# register pipeline output as dataset
output_ds = PipelineData('prepared_weather_ds', datastore=datastore).as_dataset()
output_ds = output_ds.register(name='prepared_weather_ds', create_new_version=True)
# configure pipeline step to use dataset as the input and output
prep_step = PythonScriptStep(script_name="prepare.py",
inputs=[input_ds.as_named_input('weather_ds')],
outputs=[output_ds],
compute_target=compute_target,
source_directory=project_folder)
См. соответствующие страницы документации, например использование других типов входных и выходных данных.
Методы
| create_node |
Создайте узел для PythonScriptStep и добавьте его в указанный граф. Этот метод не предназначен для непосредственного использования. При создании экземпляра конвейера с помощью этого шага Машинное обучение Azure автоматически передает параметры, необходимые для этого метода, чтобы этот шаг можно было добавить в граф конвейера, представляющий рабочий процесс. |
create_node
Создайте узел для PythonScriptStep и добавьте его в указанный граф.
Этот метод не предназначен для непосредственного использования. При создании экземпляра конвейера с помощью этого шага Машинное обучение Azure автоматически передает параметры, необходимые для этого метода, чтобы этот шаг можно было добавить в граф конвейера, представляющий рабочий процесс.
create_node(graph, default_datastore, context)
Параметры
| Имя | Описание |
|---|---|
|
graph
Обязательно
|
Объект graph, в который добавляется узел. |
|
default_datastore
Обязательно
|
Хранилище данных по умолчанию. |
|
context
Обязательно
|
<xref:azureml.pipeline.core._GraphContext>
Контекст графа. |
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Созданный узел. |