Delen via


RScriptStep Klas

Opmerking

Dit is een experimentele klasse en kan op elk gewenst moment worden gewijzigd. Zie https://aka.ms/acr/connected-registry voor meer informatie.

Hiermee maakt u een Azure ML-pijplijnstap waarmee R-script wordt uitgevoerd.

Maak een Azure ML-pijplijnstap waarmee R-script wordt uitgevoerd.

VEROUDERD. Gebruik in plaats daarvan het CommandStep . Zie R-scripts uitvoeren in pijplijnen met CommandStep voor een voorbeeld.

Constructor

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)

Parameters

Name Description
script_name
Vereist
str

[Vereist] De naam van een R-script ten opzichte source_directoryvan .

name
Vereist
str

De naam van de stap. Als dit niet is opgegeven, script_name wordt deze gebruikt.

arguments
Vereist

Opdrachtregelargumenten voor het R-scriptbestand. De argumenten worden doorgegeven om te berekenen via de arguments parameter in RunConfiguration. Zie voor meer informatie over het afhandelen van argumenten, zoals speciale symbolen, de RunConfiguration.

compute_target
Vereist

[Vereist] Het rekendoel dat moet worden gebruikt. Als dit niet is opgegeven, wordt het doel van het runconfig doel gebruikt. Deze parameter kan worden opgegeven als een rekendoelobject of de tekenreeksnaam van een rekendoel in de werkruimte. Als het rekendoel niet beschikbaar is tijdens het maken van de pijplijn, kunt u eventueel een tuple opgeven van ('naam van rekendoel', 'rekendoeltype') om te voorkomen dat het rekendoelobject wordt opgehaald (het type AmlCompute is 'AmlCompute' en het type RemoteCompute is 'VirtualMachine').

runconfig
Vereist

[Vereist] Voer de configuratie uit die de benodigde informatie bevat voor het verzenden van een trainingsuitvoering in een experiment. Dit is vereist voor het definiëren van R-uitvoeringsconfiguraties die kunnen worden gedefinieerd in RSection. De RSection is vereist voor deze stap.

runconfig_pipeline_params
Vereist

Onderdrukkingen van runconfig-eigenschappen tijdens runtime met behulp van sleutel-waardeparen elk met de naam van de runconfig-eigenschap en PipelineParameter voor die eigenschap.

Ondersteunde waarden: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount'

inputs
Vereist

Een lijst met invoerpoortbindingen.

outputs
Vereist

Een lijst met uitvoerpoortbindingen.

params
Vereist

Een woordenlijst met naam-waardeparen die zijn geregistreerd als omgevingsvariabelen met 'AML_PARAMETER_'.

source_directory
Vereist
str

Een map met R-script, conda env en andere resources die in de stap worden gebruikt.

use_gpu
Vereist

Hiermee wordt aangegeven of de omgeving voor het uitvoeren van het experiment GPU's moet ondersteunen. Indien waar, wordt een standaard Docker-installatiekopieën op basis van GPU gebruikt in de omgeving. Als dit onwaar is, wordt een op CPU gebaseerde installatiekopieën gebruikt. Standaard docker-installatiekopieën (CPU of GPU) worden alleen gebruikt als een gebruiker niet beide base_image en base_dockerfile parameters instelt. Deze instelling wordt alleen gebruikt in rekendoelen waarvoor Docker is ingeschakeld. Zie https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.environment.dockersection voor meer informatie over base_image.

custom_docker_image
Vereist
str

De naam van de Docker-installatiekopie waaruit de installatiekopie voor training moet worden gebouwd. Als deze niet is ingesteld, wordt een standaardinstallatiekopieën op basis van CPU gebruikt als basisinstallatiekopieën. Dit is afgeschaft en wordt verwijderd in een toekomstige release. Gebruik in plaats daarvan base_image in dockerSection.

cran_packages
Vereist

CRAN-pakketten die moeten worden geïnstalleerd. Dit is afgeschaft en wordt verwijderd in een toekomstige release. Gebruik in plaats daarvan RSection.cran_packages.

github_packages
Vereist

GitHub-pakketten die moeten worden geïnstalleerd. Dit is afgeschaft en wordt verwijderd in een toekomstige release. Gebruik in plaats daarvan RSection.github_packages.

custom_url_packages
Vereist

Pakketten die moeten worden geïnstalleerd vanuit de lokale, map of aangepaste URL. Dit is afgeschaft en wordt verwijderd in een toekomstige release. Gebruik in plaats daarvan RSection.custom_url_packages.

allow_reuse
Vereist

Hiermee wordt aangegeven of de stap vorige resultaten opnieuw moet gebruiken wanneer deze opnieuw wordt uitgevoerd met dezelfde instellingen. Hergebruik is standaard ingeschakeld. Als de inhoud van de stap (scripts/afhankelijkheden) en de invoer en parameters ongewijzigd blijven, wordt de uitvoer van de vorige uitvoering van deze stap opnieuw gebruikt. Wanneer u de stap opnieuw gebruikt, worden de resultaten van de vorige uitvoering onmiddellijk beschikbaar gesteld aan eventuele volgende stappen in plaats van de taak te verzenden om te berekenen. Als u Azure Machine Learning-gegevenssets als invoer gebruikt, wordt hergebruik bepaald door of de definitie van de gegevensset is gewijzigd, niet door of de onderliggende gegevens zijn gewijzigd.

version
Vereist
str

Een optionele versietag om een wijziging in de functionaliteit voor de stap aan te geven.

script_name
Vereist
str

[Vereist] De naam van een R-script ten opzichte source_directoryvan .

name
Vereist
str

De naam van de stap. Als dit niet is opgegeven, script_name wordt deze gebruikt.

arguments
Vereist

Opdrachtregelargumenten voor het R-scriptbestand. De argumenten worden doorgegeven om te berekenen via de arguments parameter in RunConfiguration. Zie voor meer informatie over het afhandelen van argumenten, zoals speciale symbolen, de RunConfiguration.

compute_target
Vereist

[Vereist] Het rekendoel dat moet worden gebruikt. Als dit niet is opgegeven, wordt het doel van het runconfig doel gebruikt. Deze parameter kan worden opgegeven als een rekendoelobject of de tekenreeksnaam van een rekendoel in de werkruimte. Als het rekendoel niet beschikbaar is tijdens het maken van de pijplijn, kunt u eventueel een tuple opgeven van ('naam van rekendoel', 'rekendoeltype') om te voorkomen dat het rekendoelobject wordt opgehaald (het type AmlCompute is 'AmlCompute' en het type RemoteCompute is 'VirtualMachine').

runconfig
Vereist

[Vereist] Voer de configuratie uit die de benodigde informatie bevat voor het verzenden van een trainingsuitvoering in een experiment. Dit is vereist voor het definiëren van R-uitvoeringsconfiguraties die kunnen worden gedefinieerd in RSection. De RSection is vereist voor deze stap.

runconfig_pipeline_params
Vereist

Onderdrukkingen van runconfig-eigenschappen tijdens runtime met behulp van sleutel-waardeparen elk met de naam van de runconfig-eigenschap en PipelineParameter voor die eigenschap.

Ondersteunde waarden: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount'

inputs
Vereist

Een lijst met invoerpoortbindingen.

outputs
Vereist

Een lijst met uitvoerpoortbindingen.

params
Vereist

Een woordenlijst met naam-waardeparen die zijn geregistreerd als omgevingsvariabelen met 'AML_PARAMETER_'.

source_directory
Vereist
str

Een map met R-script, conda env en andere resources die in de stap worden gebruikt.

use_gpu
Vereist

Hiermee wordt aangegeven of de omgeving voor het uitvoeren van het experiment GPU's moet ondersteunen. Indien waar, wordt een standaard Docker-installatiekopieën op basis van GPU gebruikt in de omgeving. Als dit onwaar is, wordt een op CPU gebaseerde installatiekopieën gebruikt. Standaard docker-installatiekopieën (CPU of GPU) worden alleen gebruikt als een gebruiker niet beide base_image en base_dockerfile parameters instelt. Deze instelling wordt alleen gebruikt in rekendoelen waarvoor Docker is ingeschakeld. Zie https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.environment.dockersection voor meer informatie over base_image.

custom_docker_image
Vereist
str

De naam van de Docker-installatiekopie waaruit de installatiekopie voor training moet worden gebouwd. Als deze niet is ingesteld, wordt een standaardinstallatiekopieën op basis van CPU gebruikt als basisinstallatiekopieën. Dit is afgeschaft en wordt verwijderd in een toekomstige release. Gebruik in plaats daarvan base_image in dockerSection.

cran_packages
Vereist

CRAN-pakketten die moeten worden geïnstalleerd. Dit is afgeschaft en wordt verwijderd in een toekomstige release. Gebruik in plaats daarvan RSection.cran_packages.

github_packages
Vereist

GitHub-pakketten die moeten worden geïnstalleerd. Dit is afgeschaft en wordt verwijderd in een toekomstige release. Gebruik in plaats daarvan RSection.github_packages.

custom_url_packages
Vereist

Pakketten die moeten worden geïnstalleerd vanuit de lokale, map of aangepaste URL. Dit is afgeschaft en wordt verwijderd in een toekomstige release. Gebruik in plaats daarvan RSection.custom_url_packages.

allow_reuse
Vereist

Hiermee wordt aangegeven of de stap vorige resultaten opnieuw moet gebruiken wanneer deze opnieuw wordt uitgevoerd met dezelfde instellingen. Hergebruik is standaard ingeschakeld. Als de inhoud van de stap (scripts/afhankelijkheden) en de invoer en parameters ongewijzigd blijven, wordt de uitvoer van de vorige uitvoering van deze stap opnieuw gebruikt. Wanneer u de stap opnieuw gebruikt, worden de resultaten van de vorige uitvoering onmiddellijk beschikbaar gesteld aan eventuele volgende stappen in plaats van de taak te verzenden om te berekenen. Als u Azure Machine Learning-gegevenssets als invoer gebruikt, wordt hergebruik bepaald door of de definitie van de gegevensset is gewijzigd, niet door of de onderliggende gegevens zijn gewijzigd.

version
Vereist
str

Een optionele versietag om een wijziging in de functionaliteit voor de stap aan te geven.

Opmerkingen

Een RScriptStep is een eenvoudige, ingebouwde stap voor het uitvoeren van R-script op een rekendoel. Hiervoor zijn een scriptnaam en andere optionele parameters nodig, zoals argumenten voor het script, rekendoel, invoer en uitvoer. Gebruik een RunConfiguration om vereisten op te geven voor de RScriptStep, zoals aangepaste docker-installatiekopieën, vereiste cran/github-pakketten.

De aanbevolen procedure voor het werken met RScriptStep is het gebruik van een afzonderlijke map voor scripts en afhankelijke bestanden die aan de stap zijn gekoppeld en geef die map op met de source_directory parameter. Het volgen van deze best practice heeft twee voordelen. Ten eerste kunt u hiermee de grootte van de momentopname verkleinen die voor de stap is gemaakt, omdat alleen wat er nodig is voor de stap een momentopname wordt gemaakt. Ten tweede kan de uitvoer van de stap van een vorige uitvoering opnieuw worden gebruikt als er geen wijzigingen zijn in de source_directory stap die een herupload van de momentopname zou activeren.

In het volgende codevoorbeeld ziet u hoe u een RScriptStep gebruikt in een machine learning-trainingsscenario.


   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)

Zie https://aka.ms/pl-first-pipeline voor meer informatie over het maken van pijplijnen in het algemeen. Zie https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.environment.rsection voor meer informatie over RSection.

Methoden

create_node

Maak een knooppunt voor RScriptStep en voeg dit toe aan de opgegeven grafiek.

VEROUDERD. Gebruik in plaats daarvan het CommandStep . Zie R-scripts uitvoeren in pijplijnen met CommandStep voor een voorbeeld.

Deze methode is niet bedoeld om rechtstreeks te worden gebruikt. Wanneer een pijplijn met deze stap wordt geïnstantieerd, worden in Azure ML automatisch de parameters doorgegeven die zijn vereist via deze methode, zodat de stap kan worden toegevoegd aan een pijplijngrafiek die de werkstroom vertegenwoordigt.

create_node

Maak een knooppunt voor RScriptStep en voeg dit toe aan de opgegeven grafiek.

VEROUDERD. Gebruik in plaats daarvan het CommandStep . Zie R-scripts uitvoeren in pijplijnen met CommandStep voor een voorbeeld.

Deze methode is niet bedoeld om rechtstreeks te worden gebruikt. Wanneer een pijplijn met deze stap wordt geïnstantieerd, worden in Azure ML automatisch de parameters doorgegeven die zijn vereist via deze methode, zodat de stap kan worden toegevoegd aan een pijplijngrafiek die de werkstroom vertegenwoordigt.

create_node(graph, default_datastore, context)

Parameters

Name Description
graph
Vereist

Het grafiekobject waaraan het knooppunt moet worden toegevoegd.

default_datastore
Vereist

Het standaardgegevensarchief.

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

De grafiekcontext.

Retouren

Type Description

Het gemaakte knooppunt.