Condividi tramite


RScriptStep Classe

Nota

Si tratta di una classe sperimentale e può cambiare in qualsiasi momento. Per altre informazioni, vedere https://aka.ms/azuremlexperimental.

Crea un passaggio della pipeline di Azure ML che esegue lo script R.

Creare un passaggio della pipeline di Azure ML che esegue lo script R.

DEPRECATO. Usare invece .CommandStep Per un esempio, vedere Come eseguire script R nelle pipeline con CommandStep.

Ereditarietà
azureml.pipeline.core._python_script_step_base._PythonScriptStepBase
RScriptStep

Costruttore

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)

Parametri

Nome Descrizione
script_name
Necessario
str

[Obbligatorio] Nome di uno script R relativo a source_directory.

name
Necessario
str

Nome del passaggio. Se non specificato, script_name viene usato.

arguments
Necessario

Argomenti della riga di comando per il file di script R. Gli argomenti verranno passati al calcolo tramite il arguments parametro in RunConfiguration. Per altre informazioni su come gestire gli argomenti, ad esempio simboli speciali, vedere .RunConfiguration

compute_target
Necessario

[Obbligatorio] Destinazione di calcolo da usare. Se non specificato, viene usata la destinazione dall'oggetto runconfig . Questo parametro può essere specificato come oggetto di destinazione di calcolo o come nome stringa di una destinazione di calcolo nell'area di lavoro. Facoltativamente, se la destinazione di calcolo non è disponibile in fase di creazione della pipeline, è possibile specificare una tupla di ('nome di destinazione di calcolo', 'tipo di destinazione di calcolo') per evitare di recuperare l'oggetto di destinazione di calcolo (il tipo AmlCompute è 'AmlCompute' e il tipo RemoteCompute è 'VirtualMachine').

runconfig
Necessario

[Obbligatorio] Eseguire la configurazione che incapsula le informazioni necessarie per inviare un'esecuzione di training in un esperimento. È necessario definire le configurazioni di esecuzione R che possono essere definite in RSection. RSection è necessario per questo passaggio.

runconfig_pipeline_params
Necessario

Esegue l'override delle proprietà runconfig in fase di esecuzione usando coppie chiave-valore ognuna con il nome della proprietà runconfig e PipelineParameter per tale proprietà.

Valori supportati: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount'

inputs
Necessario

Elenco di associazioni di porte di input.

outputs
Necessario

Elenco di associazioni di porte di output.

params
Necessario

Dizionario delle coppie nome-valore registrate come variabili di ambiente con "AML_PARAMETER_".

source_directory
Necessario
str

Cartella contenente script R, conda env e altre risorse usate nel passaggio.

use_gpu
Necessario

Indica se l'ambiente da eseguire l'esperimento deve supportare GPU. Se True, nell'ambiente verrà usata un'immagine Docker predefinita basata su GPU. Se False, verrà usata un'immagine basata sulla CPU. Le immagini docker predefinite (CPU o GPU) verranno usate solo se un utente non imposta entrambi base_image i parametri e base_dockerfile . Questa impostazione viene usata solo nelle destinazioni di calcolo abilitate per Docker. Per https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.environment.dockersection altre informazioni su base_image.

custom_docker_image
Necessario
str

Nome dell'immagine Docker da cui verrà compilata l'immagine da usare per il training. In caso contrario, un'immagine basata sulla CPU predefinita verrà usata come immagine di base. Questa operazione è stata deprecata e verrà rimossa in una versione futura. Usare invece base_image in DockerSection.

cran_packages
Necessario

Pacchetti CRAN da installare. Questa operazione è stata deprecata e verrà rimossa in una versione futura. Usare invece RSection.cran_packages.

github_packages
Necessario

Pacchetti GitHub da installare. Questa operazione è stata deprecata e verrà rimossa in una versione futura. Usare invece RSection.github_packages.

custom_url_packages
Necessario

I pacchetti da installare da URL locale, directory o personalizzato. Questa operazione è stata deprecata e verrà rimossa in una versione futura. Usare invece RSection.custom_url_packages.

allow_reuse
Necessario

Indica se il passaggio deve riutilizzare i risultati precedenti quando si esegue di nuovo con le stesse impostazioni. Il riutilizzo è abilitato per impostazione predefinita. Se il contenuto del passaggio (script/dipendenze) e gli input e i parametri rimangono invariati, l'output dell'esecuzione precedente di questo passaggio viene riutilizzato. Quando si riutilizza il passaggio, anziché inviare il processo al calcolo, i risultati dell'esecuzione precedente vengono immediatamente resi disponibili per tutti i passaggi successivi. Se si usano set di dati di Azure Machine Learning come input, il riutilizzo è determinato dal fatto che la definizione del set di dati sia stata modificata, non dal fatto che i dati sottostanti siano stati modificati.

version
Necessario
str

Un tag di versione facoltativo per indicare una modifica della funzionalità per il passaggio.

script_name
Necessario
str

[Obbligatorio] Nome di uno script R relativo a source_directory.

name
Necessario
str

Nome del passaggio. Se non specificato, script_name viene usato.

arguments
Necessario

Argomenti della riga di comando per il file di script R. Gli argomenti verranno passati al calcolo tramite il arguments parametro in RunConfiguration. Per altre informazioni su come gestire gli argomenti, ad esempio simboli speciali, vedere .RunConfiguration

compute_target
Necessario

[Obbligatorio] Destinazione di calcolo da usare. Se non specificato, verrà usata la destinazione dall'oggetto runconfig . Questo parametro può essere specificato come oggetto di destinazione di calcolo o come nome stringa di una destinazione di calcolo nell'area di lavoro. Facoltativamente, se la destinazione di calcolo non è disponibile in fase di creazione della pipeline, è possibile specificare una tupla di ('nome di destinazione di calcolo', 'tipo di destinazione di calcolo') per evitare di recuperare l'oggetto di destinazione di calcolo (il tipo AmlCompute è 'AmlCompute' e il tipo RemoteCompute è 'VirtualMachine').

runconfig
Necessario

[Obbligatorio] Eseguire la configurazione che incapsula le informazioni necessarie per inviare un'esecuzione di training in un esperimento. È necessario definire le configurazioni di esecuzione R che possono essere definite in RSection. RSection è necessario per questo passaggio.

runconfig_pipeline_params
Necessario

Esegue l'override delle proprietà runconfig in fase di esecuzione usando coppie chiave-valore ognuna con il nome della proprietà runconfig e PipelineParameter per tale proprietà.

Valori supportati: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount'

inputs
Necessario

Elenco di associazioni di porte di input.

outputs
Necessario

Elenco di associazioni di porte di output.

params
Necessario

Dizionario delle coppie nome-valore registrate come variabili di ambiente con "AML_PARAMETER_".

source_directory
Necessario
str

Cartella contenente script R, conda env e altre risorse usate nel passaggio.

use_gpu
Necessario

Indica se l'ambiente da eseguire l'esperimento deve supportare GPU. Se True, nell'ambiente verrà usata un'immagine Docker predefinita basata su GPU. Se False, verrà usata un'immagine basata sulla CPU. Le immagini docker predefinite (CPU o GPU) verranno usate solo se un utente non imposta entrambi base_image i parametri e base_dockerfile . Questa impostazione viene usata solo nelle destinazioni di calcolo abilitate per Docker. Per https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.environment.dockersection altre informazioni su base_image.

custom_docker_image
Necessario
str

Nome dell'immagine Docker da cui verrà compilata l'immagine da usare per il training. In caso contrario, un'immagine basata sulla CPU predefinita verrà usata come immagine di base. Questa operazione è stata deprecata e verrà rimossa in una versione futura. Usare invece base_image in DockerSection.

cran_packages
Necessario

Pacchetti CRAN da installare. Questa operazione è stata deprecata e verrà rimossa in una versione futura. Usare invece RSection.cran_packages.

github_packages
Necessario

Pacchetti GitHub da installare. Questa operazione è stata deprecata e verrà rimossa in una versione futura. Usare invece RSection.github_packages.

custom_url_packages
Necessario

Pacchetti da installare da URL locale, directory o personalizzato. Questa operazione è stata deprecata e verrà rimossa in una versione futura. Usare invece RSection.custom_url_packages.

allow_reuse
Necessario

Indica se il passaggio deve riutilizzare i risultati precedenti quando viene eseguito di nuovo con le stesse impostazioni. Il riutilizzo è abilitato per impostazione predefinita. Se il contenuto del passaggio (script/dipendenze) e gli input e i parametri rimangono invariati, l'output dell'esecuzione precedente di questo passaggio viene riutilizzato. Quando si riutilizza il passaggio, anziché inviare il processo al calcolo, i risultati dell'esecuzione precedente vengono immediatamente resi disponibili per tutti i passaggi successivi. Se si usano set di dati di Azure Machine Learning come input, il riutilizzo viene determinato dal fatto che la definizione del set di dati sia stata modificata, non dal fatto che i dati sottostanti siano stati modificati.

version
Necessario
str

Tag di versione facoltativo per indicare una modifica delle funzionalità per il passaggio.

Commenti

RScriptStep è un passaggio predefinito di base per eseguire script R in una destinazione di calcolo. Accetta un nome di script e altri parametri facoltativi come gli argomenti per lo script, la destinazione di calcolo, input e output. È consigliabile usare per RunConfiguration specificare i requisiti per RScriptStep, ad esempio l'immagine Docker personalizzata, i pacchetti cran/github necessari.

La procedura consigliata per l'uso di RScriptStep consiste nell'usare una cartella separata per gli script e tutti i file dipendenti associati al passaggio e specificare tale cartella con il source_directory parametro . Seguendo questa procedura consigliata sono disponibili due vantaggi. In primo luogo, consente di ridurre le dimensioni dello snapshot creato per il passaggio perché viene creato uno snapshot solo degli elementi necessari per il passaggio. In secondo luogo, l'output del passaggio di un'esecuzione precedente può essere riutilizzato se non sono presenti modifiche a source_directory che attiverebbero un nuovo caricamento dello snapshot.

L'esempio di codice seguente illustra come usare RScriptStep in uno scenario di training di 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)

Per altri dettagli sulla creazione di pipeline in generale, vedere https://aka.ms/pl-first-pipeline . Per altri dettagli su RSection, vedere https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.environment.rsection .

Metodi

create_node

Creare un nodo per RScriptStep e aggiungerlo al grafico specificato.

DEPRECATO. Usare invece .CommandStep Per un esempio, vedere Come eseguire script R nelle pipeline con CommandStep.

Questo metodo non deve essere usato direttamente. Quando viene creata un'istanza di una pipeline con questo passaggio, Azure ML passa automaticamente i parametri necessari tramite questo metodo in modo che tale passaggio possa essere aggiunto a un grafo della pipeline che rappresenta il flusso di lavoro.

create_node

Creare un nodo per RScriptStep e aggiungerlo al grafico specificato.

DEPRECATO. Usare invece .CommandStep Per un esempio, vedere Come eseguire script R nelle pipeline con CommandStep.

Questo metodo non deve essere usato direttamente. Quando viene creata un'istanza di una pipeline con questo passaggio, Azure ML passa automaticamente i parametri necessari tramite questo metodo in modo che tale passaggio possa essere aggiunto a un grafo della pipeline che rappresenta il flusso di lavoro.

create_node(graph, default_datastore, context)

Parametri

Nome Descrizione
graph
Necessario

Oggetto grafico a cui aggiungere il nodo.

default_datastore
Necessario

Archivio dati predefinito.

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

Contesto del grafo.

Restituisce

Tipo Descrizione

Nodo creato.