RScriptStep Класс
Примечание
Это экспериментальный класс, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.
Создает этап конвейера Azure ML, который выполняет скрипт R.
Создайте шаг конвейера Машинного обучения Azure, на котором выполняется скрипт R.
НЕ РЕКОМЕНДУЕТСЯ. Вместо него используется CommandStep. Пример см. в статье о выполнении скриптов R в конвейерах с помощью CommandStep.
- Наследование
-
azureml.pipeline.core._python_script_step_base._PythonScriptStepBaseRScriptStep
Конструктор
RScriptStep(script_name, name=None, arguments=None, compute_target=None, runconfig=None, runconfig_pipeline_params=None, inputs=None, outputs=None, params=None, source_directory=None, use_gpu=False, custom_docker_image=None, cran_packages=None, github_packages=None, custom_url_packages=None, allow_reuse=True, version=None)
Параметры
Имя | Описание |
---|---|
script_name
Обязательно
|
[Обязательно.] Имя скрипта R (относительно |
name
Обязательно
|
Имя шага этапа. Если значение не указано, используется |
arguments
Обязательно
|
Аргументы командной строки для файла скрипта R. Аргументы будут переданы объекту вычислений через параметр |
compute_target
Обязательно
|
[Обязательно] Используемый целевой объект вычислений. Если значение не указано, используется целевой объект из |
runconfig
Обязательно
|
[Обязательно.] Конфигурация выполнения, которая инкапсулирует сведения, необходимые для отправки выполнения обучения в эксперименте. Это необходимо для определения конфигураций выполнения R, которые могут быть определены в RSection. Для этого этапа требуется RSection. |
runconfig_pipeline_params
Обязательно
|
Переопределяет свойства runconfig во время выполнения с использованием пар "ключ-значение", каждая из которых имеет имя свойства runconfig и PipelineParameter для этого свойства. Поддерживаемые значения: "NodeCount", "MpiProcessCountPerNode", "TensorflowWorkerCount", "TensorflowParameterServerCount" |
inputs
Обязательно
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
Список входных привязок портов. |
outputs
Обязательно
|
Список выходных привязок портов. |
params
Обязательно
|
Словарь пар "имя-значение", зарегистрированных как переменные среды с помощью "AML_PARAMETER_". |
source_directory
Обязательно
|
Папка, содержащая скрипт R, среду Conda и другие ресурсы, используемые на этапе. |
use_gpu
Обязательно
|
Указывает, должна ли среда выполнения эксперимента поддерживать GPU.
При значении "True" в среде будет использоваться образ Docker по умолчанию на основе GPU. При значении "False" будет использоваться образ на основе ЦП. Образы Docker по умолчанию (ЦП или GPU) будут использоваться только в том случае, если пользователь не задал оба параметра |
custom_docker_image
Обязательно
|
Имя образа Docker, из которого будет построен образ, используемый для обучения. Если он не задан, в качестве базового образа будет использоваться образ на основе ЦП по умолчанию. Этот параметр не рекомендуется использовать. Он будет удален в следующем выпуске. Вместо этого используйте base_image в DockerSection. |
cran_packages
Обязательно
|
Устанавливаемые пакеты CRAN. Этот параметр не рекомендуется использовать. Он будет удален в следующем выпуске. Вместо него используйте RSection.cran_packages. |
github_packages
Обязательно
|
Устанавливаемые пакеты GitHub. Этот параметр не рекомендуется использовать. Он будет удален в следующем выпуске. Вместо него используйте RSection.github_packages. |
custom_url_packages
Обязательно
|
Пакеты, устанавливаемые из локального, каталога или пользовательского URL-адреса. Этот параметр не рекомендуется использовать. Он будет удален в следующем выпуске. Вместо нее используйте RSection.custom_url_packages. |
allow_reuse
Обязательно
|
Указывает, должен ли этап повторно использовать предыдущие результаты при повторном выполнении с теми же параметрами. Повторное использование включено по умолчанию. Если содержимое этапа (скрипты или зависимости), а также входные данные и параметры не изменяются, выходные данные предыдущего выполнения этого этапа используются повторно. При повторном использовании этапа вместо отправки задания для вычисления немедленно предоставляются результаты предыдущего выполнения для последующих этапов. Если в качестве входных данных используются наборы данных Машинного обучения Azure, то повторное использование зависит от изменения определения набора данных, а не базовых данных. |
version
Обязательно
|
Необязательный тег версии для обозначения изменения функциональных возможностей этапа. |
script_name
Обязательно
|
[Обязательно.] Имя скрипта R (относительно |
name
Обязательно
|
Имя шага этапа. Если значение не указано, используется |
arguments
Обязательно
|
Аргументы командной строки для файла скрипта R. Аргументы будут переданы объекту вычислений через параметр |
compute_target
Обязательно
|
[Обязательно] Используемый целевой объект вычислений. Если значение не указано, будет использоваться целевой |
runconfig
Обязательно
|
[Обязательно.] Конфигурация выполнения, которая инкапсулирует сведения, необходимые для отправки выполнения обучения в эксперименте. Это необходимо для определения конфигураций выполнения R, которые могут быть определены в RSection. Для этого этапа требуется RSection. |
runconfig_pipeline_params
Обязательно
|
Переопределяет свойства runconfig во время выполнения с использованием пар "ключ-значение", каждая из которых имеет имя свойства runconfig и PipelineParameter для этого свойства. Поддерживаемые значения: "NodeCount", "MpiProcessCountPerNode", "TensorflowWorkerCount", "TensorflowParameterServerCount" |
inputs
Обязательно
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
Список входных привязок портов. |
outputs
Обязательно
|
Список выходных привязок портов. |
params
Обязательно
|
Словарь пар "имя-значение", зарегистрированных как переменные среды с помощью "AML_PARAMETER_". |
source_directory
Обязательно
|
Папка, содержащая скрипт R, среду Conda и другие ресурсы, используемые на этапе. |
use_gpu
Обязательно
|
Указывает, должна ли среда выполнения эксперимента поддерживать GPU.
При значении "True" в среде будет использоваться образ Docker по умолчанию на основе GPU. При значении "False" будет использоваться образ на основе ЦП. Образы Docker по умолчанию (ЦП или GPU) будут использоваться только в том случае, если пользователь не задал оба параметра |
custom_docker_image
Обязательно
|
Имя образа Docker, из которого будет построен образ, используемый для обучения. Если он не задан, в качестве базового образа будет использоваться образ на основе ЦП по умолчанию. Этот параметр не рекомендуется использовать. Он будет удален в следующем выпуске. Вместо этого используйте base_image в DockerSection. |
cran_packages
Обязательно
|
Устанавливаемые пакеты CRAN. Этот параметр не рекомендуется использовать. Он будет удален в следующем выпуске. Вместо него используйте RSection.cran_packages. |
github_packages
Обязательно
|
Устанавливаемые пакеты GitHub. Этот параметр не рекомендуется использовать. Он будет удален в следующем выпуске. Вместо него используйте RSection.github_packages. |
custom_url_packages
Обязательно
|
Пакеты, устанавливаемые из локального, каталога или пользовательского URL-адреса. Этот параметр не рекомендуется использовать. Он будет удален в следующем выпуске. Вместо нее используйте RSection.custom_url_packages. |
allow_reuse
Обязательно
|
Указывает, должен ли этап повторно использовать предыдущие результаты при повторном выполнении с теми же параметрами. Повторное использование включено по умолчанию. Если содержимое этапа (скрипты или зависимости), а также входные данные и параметры не изменяются, выходные данные предыдущего выполнения этого этапа используются повторно. При повторном использовании этапа вместо отправки задания для вычисления немедленно предоставляются результаты предыдущего выполнения для последующих этапов. Если в качестве входных данных используются наборы данных Машинного обучения Azure, то повторное использование зависит от изменения определения набора данных, а не базовых данных. |
version
Обязательно
|
Необязательный тег версии для обозначения изменения функциональных возможностей этапа. |
Комментарии
RScriptStep — это базовый, встроенный шаг для выполнения скрипта R на целевом объекте вычислений. Этот шаг принимает имя скрипта и другие необязательные параметры, например аргументы для скрипта, целевого объекта вычислений, входных и выходных данных. RunConfiguration следует использовать для указания требований к RScriptStep, таких как пользовательский образ Docker, обязательные пакеты Cran/GitHub.
Для работы с RScriptStep рекомендуется использовать отдельную папку для скриптов и зависимых файлов, связанных с этим этапом, и указать эту папку с помощью параметра source_directory
.
Эта рекомендация имеет два преимущества. Во-первых, это помогает уменьшить размер моментального снимка, создаваемого для этапа, поскольку создается моментальный снимок всего, что требуется для данного этапа. Во-вторых, выходные данные этапа предыдущего выполнения могут быть использованы повторно, если нет изменений source_directory
, которые активируют повторную отправку моментального снимка.
В следующем примере кода показано, как использовать RScriptStep в сценарии обучения машинного обучения.
from azureml.core.runconfig import RunConfiguration
from azureml.core.environment import Environment, RSection, RCranPackage
from azureml.pipeline.steps import RScriptStep
rc = RunConfiguration()
rc.framework='R'
rc.environment.r = RSection() # R details with required packages
rc.environment.docker.enabled = True # to enable docker image
rc.environment.docker.base_image = '<custom user image>' # to use custom image
cran_package1 = RCranPackage()
cran_package1.name = "ggplot2"
cran_package1.repository = "www.customurl.com"
cran_package1.version = "2.1"
rc.environment.r.cran_packages = [cran_package1]
trainStep = RScriptStep(script_name="train.R",
arguments=["--input", blob_input_data, "--output", output_data1],
inputs=[blob_input_data],
outputs=[output_data1],
compute_target=compute_target,
use_gpu=False,
runconfig=rc,
source_directory=project_folder)
Дополнительные сведения о создании конвейеров: https://aka.ms/pl-first-pipeline. Дополнительные сведения о RSection: https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.environment.rsection.
Методы
create_node |
Создание узла для RScriptStep и его добавление в указанный граф. НЕ РЕКОМЕНДУЕТСЯ. Вместо него используется CommandStep. Пример см. в статье о выполнении скриптов R в конвейерах с помощью CommandStep. Данный метод не предназначен для непосредственного использования. При создании экземпляра конвейера с помощью этого этапа Azure ML автоматически передает необходимые параметры через этот метод, чтобы данный этап можно было добавить в граф конвейера, представляющий рабочий процесс. |
create_node
Создание узла для RScriptStep и его добавление в указанный граф.
НЕ РЕКОМЕНДУЕТСЯ. Вместо него используется CommandStep. Пример см. в статье о выполнении скриптов R в конвейерах с помощью CommandStep.
Данный метод не предназначен для непосредственного использования. При создании экземпляра конвейера с помощью этого этапа Azure ML автоматически передает необходимые параметры через этот метод, чтобы данный этап можно было добавить в граф конвейера, представляющий рабочий процесс.
create_node(graph, default_datastore, context)
Параметры
Имя | Описание |
---|---|
graph
Обязательно
|
Объект графа, в который добавляется узел. |
default_datastore
Обязательно
|
Хранилище данных по умолчанию. |
context
Обязательно
|
<xref:azureml.pipeline.core._GraphContext>
Контекст графа. |
Возвращаемое значение
Тип | Описание |
---|---|
Созданный узел. |