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


RScriptStep Класс

Примечание

Это экспериментальный класс, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.

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

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

НЕ РЕКОМЕНДУЕТСЯ. Вместо него используется CommandStep. Пример см. в статье о выполнении скриптов R в конвейерах с помощью CommandStep.

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

Конструктор

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
Обязательно
str

[Обязательно.] Имя скрипта R (относительно source_directory).

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

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

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

Аргументы командной строки для файла скрипта R. Аргументы будут переданы объекту вычислений через параметр arguments в RunConfiguration. Дополнительные сведения об обработке таких аргументов, как специальные символы: RunConfiguration.

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

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

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

[Обязательно.] Конфигурация выполнения, которая инкапсулирует сведения, необходимые для отправки выполнения обучения в эксперименте. Это необходимо для определения конфигураций выполнения R, которые могут быть определены в RSection. Для этого этапа требуется RSection.

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

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

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

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

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

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

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

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

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

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

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

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

Указывает, должна ли среда выполнения эксперимента поддерживать GPU. При значении "True" в среде будет использоваться образ Docker по умолчанию на основе GPU. При значении "False" будет использоваться образ на основе ЦП. Образы Docker по умолчанию (ЦП или GPU) будут использоваться только в том случае, если пользователь не задал оба параметра base_image и base_dockerfile. Этот параметр используется только в целевых объектах вычислений с поддержкой Docker. Дополнительные сведения о base_image: https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.environment.dockersection.

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

Имя образа 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
Обязательно
str

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

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

[Обязательно.] Имя скрипта R (относительно source_directory).

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

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

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

Аргументы командной строки для файла скрипта R. Аргументы будут переданы объекту вычислений через параметр arguments в RunConfiguration. Дополнительные сведения об обработке таких аргументов, как специальные символы: RunConfiguration.

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

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

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

[Обязательно.] Конфигурация выполнения, которая инкапсулирует сведения, необходимые для отправки выполнения обучения в эксперименте. Это необходимо для определения конфигураций выполнения R, которые могут быть определены в RSection. Для этого этапа требуется RSection.

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

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

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

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

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

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

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

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

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

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

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

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

Указывает, должна ли среда выполнения эксперимента поддерживать GPU. При значении "True" в среде будет использоваться образ Docker по умолчанию на основе GPU. При значении "False" будет использоваться образ на основе ЦП. Образы Docker по умолчанию (ЦП или GPU) будут использоваться только в том случае, если пользователь не задал оба параметра base_image и base_dockerfile. Этот параметр используется только в целевых объектах вычислений с поддержкой Docker. Дополнительные сведения о base_image: https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.environment.dockersection.

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

Имя образа 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
Обязательно
str

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

Комментарии

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>

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

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

Тип Описание

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