Partager via


RScriptStep Classe

Notes

Il s’agit d’une classe expérimentale qui peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental.

Crée une étape de pipeline Azure ML qui exécute un script R.

Créez une étape de pipeline Azure ML qui exécute un script R.

DÉPRÉCIÉ. Utilisez plutôt CommandStep. Pour obtenir un exemple, consultezExécuter des scripts R dans des pipelines avec CommandStep.

Héritage
azureml.pipeline.core._python_script_step_base._PythonScriptStepBase
RScriptStep

Constructeur

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)

Paramètres

Nom Description
script_name
Obligatoire
str

[Obligatoire] Nom d’un script R relatif à source_directory.

name
Obligatoire
str

Nom de l'étape. S’il n’est pas spécifié, script_name est utilisé.

arguments
Obligatoire

Arguments de ligne de commande pour le fichier de script R. Les arguments sont transférés au calcul via le paramètre arguments dans RunConfiguration. Pour plus d’informations sur la façon de gérer des arguments tels que les symboles spéciaux, consultez RunConfiguration.

compute_target
Obligatoire

[Obligatoire] Cible de calcul à utiliser. Si elle n’est pas spécifiée, la cible de runconfig est utilisée. Ce paramètre peut être spécifié sous la forme d’un objet de cible de calcul ou du nom de chaîne d’une cible de calcul dans l’espace de travail. Éventuellement, si la cible de calcul n’est pas disponible au moment de la création du pipeline, vous pouvez spécifier un tuple de (« Compute Target Name », « Compute Target type ») pour éviter l’extraction de l’objet cible de calcul (le type AmlCompute est « AmlCompute » et le type RemoteCompute est « VirtualMachine »).

runconfig
Obligatoire

[Obligatoire] Configuration d’exécution qui encapsule les informations nécessaires pour soumettre une exécution d’entraînement dans une expérience. Cette configuration est obligatoire pour définir des configurations d’exécution R qui peuvent être définies dans RSection. RSection est obligatoire pour cette étape.

runconfig_pipeline_params
Obligatoire

Remplacement des propriétés runconfig au moment de l’exécution à l’aide de paires clé-valeur, chacune avec le nom de la propriété runconfig et PipelineParameter pour cette propriété.

Valeurs prises en charge : « NodeCount », « MpiProcessCountPerNode », « TensorflowWorkerCount », « TensorflowParameterServerCount »

inputs
Obligatoire

Liste des liaisons de port d’entrée.

outputs
Obligatoire

Liste des liaisons de port de sortie.

params
Obligatoire

Dictionnaire des paires nom-valeur inscrites en tant que variables d’environnement avec « AML_PARAMETER_ ».

source_directory
Obligatoire
str

Dossier qui contient le script R, l’environnement Conda et d’autres ressources utilisées lors de cette étape.

use_gpu
Obligatoire

Indique si l’environnement d’exécution de l’expérience doit prendre en charge les GPU. Si la valeur est True, une image Docker par défaut basée sur le GPU est utilisée dans l’environnement. Si la valeur est False, une image basée sur le processeur sera utilisée. Les images Docker par défaut (processeur ou GPU) sont uniquement utilisées si un utilisateur ne définit pas les paramètres base_image et base_dockerfile. Ce paramètre est utilisé uniquement dans les cibles de calcul compatibles avec Docker. Consultez https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.environment.dockersection pour plus d’informations sur base_image.

custom_docker_image
Obligatoire
str

Nom de l’image Docker à partir de laquelle l’image à utiliser pour la formation sera générée. Si la valeur n’est pas définie, une image par défaut basée sur l’UC sera utilisée comme image de base. Cette option a été dépréciée et sera supprimée dans une version ultérieure. Utilisez plutôt base_image dans DockerSection.

cran_packages
Obligatoire

Packages CRAN à installer. Cette option a été dépréciée et sera supprimée dans une version ultérieure. Utilisez plutôt RSection.cran_packages.

github_packages
Obligatoire

Packages GitHub à installer. Cette option a été dépréciée et sera supprimée dans une version ultérieure. Utilisez plutôt RSection.github_packages.

custom_url_packages
Obligatoire

Packages à installer à partir de l’URL locale, du répertoire ou personnalisée. Cette option a été dépréciée et sera supprimée dans une version ultérieure. Utilisez plutôt RSection.custom_url_packages.

allow_reuse
Obligatoire

Indique si l’étape doit réutiliser les résultats précédents lorsqu’elle est exécutée avec les mêmes paramètres. La réutilisation est activée par défaut. Si le contenu de l’étape (scripts/dépendances) ainsi que les entrées et les paramètres restent inchangés, la sortie de l’exécution précédente de cette étape est réutilisée. Lors de la réutilisation de l’étape, au lieu de soumettre le travail au calcul, les résultats de l’exécution précédente sont immédiatement mis à la disposition des étapes suivantes. Si vous utilisez des jeux de données Azure Machine Learning comme entrées, la réutilisation est déterminée par le fait que la définition du jeu de données a changé ou pas, non par la modification éventuelle des données sous-jacentes.

version
Obligatoire
str

Balise de version facultative pour indiquer une modification de fonctionnalité pour l’étape.

script_name
Obligatoire
str

[Obligatoire] Nom d’un script R relatif à source_directory.

name
Obligatoire
str

Nom de l'étape. S’il n’est pas spécifié, script_name est utilisé.

arguments
Obligatoire

Arguments de ligne de commande pour le fichier de script R. Les arguments sont transférés au calcul via le paramètre arguments dans RunConfiguration. Pour plus d’informations sur la façon de gérer des arguments tels que les symboles spéciaux, consultez RunConfiguration.

compute_target
Obligatoire

[Obligatoire] Cible de calcul à utiliser. Si elle n’est pas spécifiée, la cible du runconfig est utilisée. Ce paramètre peut être spécifié sous la forme d’un objet de cible de calcul ou du nom de chaîne d’une cible de calcul dans l’espace de travail. Éventuellement, si la cible de calcul n’est pas disponible au moment de la création du pipeline, vous pouvez spécifier un tuple de (« Compute Target Name », « Compute Target type ») pour éviter l’extraction de l’objet cible de calcul (le type AmlCompute est « AmlCompute » et le type RemoteCompute est « VirtualMachine »).

runconfig
Obligatoire

[Obligatoire] Configuration d’exécution qui encapsule les informations nécessaires pour soumettre une exécution d’entraînement dans une expérience. Cette configuration est obligatoire pour définir des configurations d’exécution R qui peuvent être définies dans RSection. RSection est obligatoire pour cette étape.

runconfig_pipeline_params
Obligatoire

Remplacement des propriétés runconfig au moment de l’exécution à l’aide de paires clé-valeur, chacune avec le nom de la propriété runconfig et PipelineParameter pour cette propriété.

Valeurs prises en charge : « NodeCount », « MpiProcessCountPerNode », « TensorflowWorkerCount », « TensorflowParameterServerCount »

inputs
Obligatoire

Liste des liaisons de port d’entrée.

outputs
Obligatoire

Liste des liaisons de port de sortie.

params
Obligatoire

Dictionnaire des paires nom-valeur inscrites en tant que variables d’environnement avec « AML_PARAMETER_ ».

source_directory
Obligatoire
str

Dossier qui contient le script R, l’environnement Conda et d’autres ressources utilisées lors de cette étape.

use_gpu
Obligatoire

Indique si l’environnement d’exécution de l’expérience doit prendre en charge les GPU. Si la valeur est True, une image Docker par défaut basée sur le GPU est utilisée dans l’environnement. Si la valeur est False, une image basée sur le processeur sera utilisée. Les images Docker par défaut (processeur ou GPU) sont uniquement utilisées si un utilisateur ne définit pas les paramètres base_image et base_dockerfile. Ce paramètre est utilisé uniquement dans les cibles de calcul compatibles avec Docker. Consultez https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.environment.dockersection pour plus d’informations sur base_image.

custom_docker_image
Obligatoire
str

Nom de l’image Docker à partir de laquelle l’image à utiliser pour la formation sera générée. Si la valeur n’est pas définie, une image par défaut basée sur l’UC sera utilisée comme image de base. Cette option a été dépréciée et sera supprimée dans une version ultérieure. Utilisez plutôt base_image dans DockerSection.

cran_packages
Obligatoire

Packages CRAN à installer. Cette option a été dépréciée et sera supprimée dans une version ultérieure. Utilisez plutôt RSection.cran_packages.

github_packages
Obligatoire

Packages GitHub à installer. Cette option a été dépréciée et sera supprimée dans une version ultérieure. Utilisez plutôt RSection.github_packages.

custom_url_packages
Obligatoire

Packages à installer à partir de l’URL locale, du répertoire ou personnalisée. Cette option a été dépréciée et sera supprimée dans une version ultérieure. Utilisez plutôt RSection.custom_url_packages.

allow_reuse
Obligatoire

Indique si l’étape doit réutiliser les résultats précédents lorsqu’elle est exécutée avec les mêmes paramètres. La réutilisation est activée par défaut. Si le contenu de l’étape (scripts/dépendances) ainsi que les entrées et les paramètres restent inchangés, la sortie de l’exécution précédente de cette étape est réutilisée. Lors de la réutilisation de l’étape, au lieu de soumettre le travail au calcul, les résultats de l’exécution précédente sont immédiatement mis à la disposition des étapes suivantes. Si vous utilisez des jeux de données Azure Machine Learning comme entrées, la réutilisation est déterminée par le fait que la définition du jeu de données a changé ou pas, non par la modification éventuelle des données sous-jacentes.

version
Obligatoire
str

Balise de version facultative pour indiquer une modification de fonctionnalité pour l’étape.

Remarques

Un RScriptStep est une étape de base intégrée pour exécuter un script R sur une cible de calcul. Il accepte un nom de script et d’autres paramètres facultatifs, comme des arguments pour le script, la cible de calcul, les entrées et les sorties. Vous devez utiliser un RunConfiguration pour spécifier les exigences pour le RScriptStep, telles que l’image Docker personnalisée, les packages CRAN/GitHub nécessaires.

Une bonne pratique à suivre avec RScriptStep consiste à utiliser un dossier distinct pour les scripts et tous les fichiers dépendants associés à l’étape, puis à spécifier ce dossier avec le paramètre source_directory. Suivre cette bonne pratique présente deux avantages. En premier lieu, cela permet de réduire la taille de l’instantané créé pour l’étape, car seuls les éléments nécessaires à l’étape sont capturés. Deuxièmement, la sortie de l’étape d’une exécution précédente peut être réutilisée si aucune modification n’est apportée au source_directory. La présence de modifications déclenche un nouveau téléchargement de l’instantané.

L’exemple de code suivant montre comment utiliser un RScriptStep dans un scénario d’entraînement Machine Learning.


   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)

Pour plus d’informations sur la création de pipelines en général, consultez https://aka.ms/pl-first-pipeline. Pour plus d’informations sur RSection, consultez https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.environment.rsection.

Méthodes

create_node

Créez un nœud pour RScriptStep et ajoutez-le au graphique spécifié.

DÉPRÉCIÉ. Utilisez plutôt CommandStep. Pour obtenir un exemple, consultezExécuter des scripts R dans des pipelines avec CommandStep.

Cette méthode n’est pas destinée à être utilisée directement. Lorsqu’un pipeline est instancié avec cette étape, Azure ML transmet automatiquement les paramètres requis via cette méthode afin que l’étape puisse être ajoutée à un graphique de pipeline qui représente le flux de travail.

create_node

Créez un nœud pour RScriptStep et ajoutez-le au graphique spécifié.

DÉPRÉCIÉ. Utilisez plutôt CommandStep. Pour obtenir un exemple, consultezExécuter des scripts R dans des pipelines avec CommandStep.

Cette méthode n’est pas destinée à être utilisée directement. Lorsqu’un pipeline est instancié avec cette étape, Azure ML transmet automatiquement les paramètres requis via cette méthode afin que l’étape puisse être ajoutée à un graphique de pipeline qui représente le flux de travail.

create_node(graph, default_datastore, context)

Paramètres

Nom Description
graph
Obligatoire

Objet graphique auquel ajouter le nœud.

default_datastore
Obligatoire

Magasin de données par défaut.

context
Obligatoire
<xref:azureml.pipeline.core._GraphContext>

Contexte du graphique.

Retours

Type Description

Nœud créé.