Udostępnij za pośrednictwem


RScriptStep Klasa

Uwaga

Jest to klasa eksperymentalna i może ulec zmianie w dowolnym momencie. Aby uzyskać więcej informacji, zobacz https://aka.ms/acr/connected-registry.

Tworzy krok potoku usługi Azure ML, który uruchamia skrypt języka R.

Utwórz krok potoku usługi Azure ML, który uruchamia skrypt języka R.

PRZESTARZAŁE. Zamiast tego użyj polecenia CommandStep . Przykład można znaleźć w temacie How to run R scripts in pipelines with CommandStep (Jak uruchamiać skrypty języka R w potokach za pomocą poleceniaKrok).

Konstruktor

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)

Parametry

Nazwa Opis
script_name
Wymagane
str

[Wymagane] Nazwa skryptu języka R względem source_directory.

name
Wymagane
str

Nazwa kroku. Jeśli nie określono, script_name jest używany.

arguments
Wymagane

Argumenty wiersza polecenia dla pliku skryptu języka R. Argumenty zostaną przekazane do obliczeń za pośrednictwem parametru w elem arguments . RunConfiguration. Aby uzyskać więcej informacji na temat obsługi argumentów, takich jak symbole specjalne, zobacz RunConfiguration.

compute_target
Wymagane

[Wymagane] Docelowy obiekt obliczeniowy do użycia. Jeśli element docelowy z obiektu runconfig nie zostanie określony, zostanie użyty. Ten parametr może być określony jako obiekt docelowy obliczeniowy lub nazwa ciągu docelowego obiektu obliczeniowego w obszarze roboczym. Opcjonalnie, jeśli docelowy obiekt obliczeniowy nie jest dostępny w czasie tworzenia potoku, możesz określić krotkę (nazwa docelowa obliczeniowa, typ docelowy obliczeniowy), aby uniknąć pobierania obiektu docelowego obliczeniowego (typ AmlCompute to "AmlCompute", a typ RemoteCompute to "VirtualMachine").

runconfig
Wymagane

[Wymagane] Uruchom konfigurację, która hermetyzuje informacje niezbędne do przesłania przebiegu trenowania w eksperymencie. Jest to wymagane do zdefiniowania konfiguracji uruchamiania języka R, które można zdefiniować w pliku RSection. W tym kroku jest wymagana funkcja RSection.

runconfig_pipeline_params
Wymagane

Zastąpienia właściwości runconfig w czasie wykonywania przy użyciu par klucz-wartość każdy z nazwami właściwości runconfig i PipelineParameter dla tej właściwości.

Obsługiwane wartości: "NodeCount", "MpiProcessCountPerNode", "TensorflowWorkerCount", "TensorflowParameterServerCount"

inputs
Wymagane

Lista powiązań portów wejściowych.

outputs
Wymagane

Lista powiązań portów wyjściowych.

params
Wymagane

Słownik par name-value zarejestrowanych jako zmienne środowiskowe z "AML_PARAMETER_".

source_directory
Wymagane
str

Folder zawierający skrypt języka R, conda env i inne zasoby używane w kroku.

use_gpu
Wymagane

Wskazuje, czy środowisko do uruchomienia eksperymentu powinno obsługiwać procesory GPU. Jeśli to prawda, domyślny obraz platformy Docker oparty na procesorze GPU będzie używany w środowisku. Jeśli wartość False, zostanie użyty obraz oparty na procesorze CPU. Domyślne obrazy platformy Docker (procesor CPU lub procesor GPU) będą używane tylko wtedy, gdy użytkownik nie ustawi parametrów base_image i base_dockerfile . To ustawienie jest używane tylko w docelowych obiektach obliczeniowych z obsługą platformy Docker. Zobacz https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.environment.dockersection , aby uzyskać więcej informacji na temat usługi base_image.

custom_docker_image
Wymagane
str

Nazwa obrazu platformy Docker, z którego obraz do użycia na potrzeby trenowania zostanie skompilowany. Jeśli nie zostanie ustawiony, domyślny obraz oparty na procesorze CPU będzie używany jako obraz podstawowy. Ta funkcja została wycofana i zostanie usunięta w przyszłej wersji. Zamiast tego użyj base_image w usłudze DockerSection.

cran_packages
Wymagane

Pakiety CRAN do zainstalowania. Ta funkcja została wycofana i zostanie usunięta w przyszłej wersji. Zamiast tego użyj RSection.cran_packages.

github_packages
Wymagane

Pakiety GitHub do zainstalowania. Ta funkcja została wycofana i zostanie usunięta w przyszłej wersji. Zamiast tego użyj RSection.github_packages.

custom_url_packages
Wymagane

Pakiety do zainstalowania z lokalnego, katalogu lub niestandardowego adresu URL. Ta funkcja została wycofana i zostanie usunięta w przyszłej wersji. Zamiast tego użyj RSection.custom_url_packages.

allow_reuse
Wymagane

Wskazuje, czy krok powinien ponownie używać poprzednich wyników podczas ponownego uruchamiania z tymi samymi ustawieniami. Ponowne użycie jest domyślnie włączone. Jeśli zawartość kroku (skrypty/zależności), a także dane wejściowe i parametry pozostają niezmienione, dane wyjściowe z poprzedniego przebiegu tego kroku są ponownie używane. Podczas ponownego wykonywania kroku zamiast przesyłania zadania do obliczeń wyniki z poprzedniego przebiegu są natychmiast udostępniane wszelkim kolejnym krokom. Jeśli używasz zestawów danych usługi Azure Machine Learning jako danych wejściowych, ponowne użycie zależy od tego, czy definicja zestawu danych uległa zmianie, a nie przez to, czy dane bazowe uległy zmianie.

version
Wymagane
str

Opcjonalny tag wersji, aby oznaczyć zmianę funkcji dla kroku.

script_name
Wymagane
str

[Wymagane] Nazwa skryptu języka R względem source_directory.

name
Wymagane
str

Nazwa kroku. Jeśli nie określono, script_name jest używany.

arguments
Wymagane

Argumenty wiersza polecenia dla pliku skryptu języka R. Argumenty zostaną przekazane do obliczeń za pośrednictwem parametru w elem arguments . RunConfiguration. Aby uzyskać więcej informacji na temat obsługi argumentów, takich jak symbole specjalne, zobacz RunConfiguration.

compute_target
Wymagane

[Wymagane] Docelowy obiekt obliczeniowy do użycia. Jeśli wartość docelowa nie zostanie określona, zostanie użyta wartość docelowa runconfig . Ten parametr może być określony jako obiekt docelowy obliczeniowy lub nazwa ciągu docelowego obiektu obliczeniowego w obszarze roboczym. Opcjonalnie, jeśli docelowy obiekt obliczeniowy nie jest dostępny w czasie tworzenia potoku, możesz określić krotkę (nazwa docelowa obliczeniowa, typ docelowy obliczeniowy), aby uniknąć pobierania obiektu docelowego obliczeniowego (typ AmlCompute to "AmlCompute", a typ RemoteCompute to "VirtualMachine").

runconfig
Wymagane

[Wymagane] Uruchom konfigurację, która hermetyzuje informacje niezbędne do przesłania przebiegu trenowania w eksperymencie. Jest to wymagane do zdefiniowania konfiguracji uruchamiania języka R, które można zdefiniować w pliku RSection. W tym kroku jest wymagana funkcja RSection.

runconfig_pipeline_params
Wymagane

Zastąpienia właściwości runconfig w czasie wykonywania przy użyciu par klucz-wartość każdy z nazwami właściwości runconfig i PipelineParameter dla tej właściwości.

Obsługiwane wartości: "NodeCount", "MpiProcessCountPerNode", "TensorflowWorkerCount", "TensorflowParameterServerCount"

inputs
Wymagane

Lista powiązań portów wejściowych.

outputs
Wymagane

Lista powiązań portów wyjściowych.

params
Wymagane

Słownik par name-value zarejestrowanych jako zmienne środowiskowe z "AML_PARAMETER_".

source_directory
Wymagane
str

Folder zawierający skrypt języka R, conda env i inne zasoby używane w kroku.

use_gpu
Wymagane

Wskazuje, czy środowisko do uruchomienia eksperymentu powinno obsługiwać procesory GPU. Jeśli to prawda, domyślny obraz platformy Docker oparty na procesorze GPU będzie używany w środowisku. Jeśli wartość False, zostanie użyty obraz oparty na procesorze CPU. Domyślne obrazy platformy Docker (procesor CPU lub procesor GPU) będą używane tylko wtedy, gdy użytkownik nie ustawi parametrów base_image i base_dockerfile . To ustawienie jest używane tylko w docelowych obiektach obliczeniowych z obsługą platformy Docker. Zobacz https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.environment.dockersection , aby uzyskać więcej informacji na temat usługi base_image.

custom_docker_image
Wymagane
str

Nazwa obrazu platformy Docker, z którego obraz do użycia na potrzeby trenowania zostanie skompilowany. Jeśli nie zostanie ustawiony, domyślny obraz oparty na procesorze CPU będzie używany jako obraz podstawowy. Ta funkcja została wycofana i zostanie usunięta w przyszłej wersji. Zamiast tego użyj base_image w usłudze DockerSection.

cran_packages
Wymagane

Pakiety CRAN do zainstalowania. Ta funkcja została wycofana i zostanie usunięta w przyszłej wersji. Zamiast tego użyj RSection.cran_packages.

github_packages
Wymagane

Pakiety GitHub do zainstalowania. Ta funkcja została wycofana i zostanie usunięta w przyszłej wersji. Zamiast tego użyj RSection.github_packages.

custom_url_packages
Wymagane

Pakiety do zainstalowania z lokalnego, katalogu lub niestandardowego adresu URL. Ta funkcja została wycofana i zostanie usunięta w przyszłej wersji. Zamiast tego użyj RSection.custom_url_packages.

allow_reuse
Wymagane

Wskazuje, czy krok powinien ponownie używać poprzednich wyników podczas ponownego uruchamiania z tymi samymi ustawieniami. Ponowne użycie jest domyślnie włączone. Jeśli zawartość kroku (skrypty/zależności), a także dane wejściowe i parametry pozostają niezmienione, dane wyjściowe z poprzedniego przebiegu tego kroku są ponownie używane. Podczas ponownego wykonywania kroku zamiast przesyłania zadania do obliczeń wyniki z poprzedniego przebiegu są natychmiast udostępniane wszelkim kolejnym krokom. Jeśli używasz zestawów danych usługi Azure Machine Learning jako danych wejściowych, ponowne użycie zależy od tego, czy definicja zestawu danych uległa zmianie, a nie przez to, czy dane bazowe uległy zmianie.

version
Wymagane
str

Opcjonalny tag wersji, aby oznaczyć zmianę funkcji dla kroku.

Uwagi

RScriptStep to podstawowy, wbudowany krok uruchamiania skryptu języka R na docelowym obiekcie obliczeniowym. Przyjmuje nazwę skryptu i inne parametry opcjonalne, takie jak argumenty dla skryptu, docelowy obiekt obliczeniowy, dane wejściowe i wyjściowe. Należy użyć elementu , RunConfiguration aby określić wymagania dotyczące skryptu RScriptStep, takiego jak niestandardowy obraz platformy Docker, wymagane pakiety cran/github.

Najlepszym rozwiązaniem do pracy z RScriptStep jest użycie oddzielnego folderu dla skryptów i wszystkich plików zależnych skojarzonych z krokiem i określenie tego folderu z parametrem source_directory . Zgodnie z tym najlepszym rozwiązaniem ma dwie korzyści. Najpierw pomaga zmniejszyć rozmiar migawki utworzonej dla kroku, ponieważ tylko to, co jest potrzebne do wykonania kroku, jest migawkowane. Po drugie, dane wyjściowe kroku z poprzedniego przebiegu można ponownie użyć, jeśli nie ma żadnych zmian w source_directory pliku, które wyzwoli ponowne przekazanie migawki.

W poniższym przykładzie kodu pokazano, jak używać kodu RScriptStep w scenariuszu trenowania uczenia maszynowego.


   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)

Zobacz https://aka.ms/pl-first-pipeline , aby uzyskać więcej informacji na temat tworzenia potoków ogólnie. Zobacz https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.environment.rsection , aby uzyskać więcej informacji na temat usługi RSection.

Metody

create_node

Utwórz węzeł dla języka RScriptStep i dodaj go do określonego grafu.

PRZESTARZAŁE. Zamiast tego użyj polecenia CommandStep . Przykład można znaleźć w temacie How to run R scripts in pipelines with CommandStep (Jak uruchamiać skrypty języka R w potokach za pomocą poleceniaKrok).

Ta metoda nie jest przeznaczona do bezpośredniego użycia. Po utworzeniu wystąpienia potoku w tym kroku usługa Azure ML automatycznie przekazuje parametry wymagane za pośrednictwem tej metody, aby można było dodać krok do grafu potoku reprezentującego przepływ pracy.

create_node

Utwórz węzeł dla języka RScriptStep i dodaj go do określonego grafu.

PRZESTARZAŁE. Zamiast tego użyj polecenia CommandStep . Przykład można znaleźć w temacie How to run R scripts in pipelines with CommandStep (Jak uruchamiać skrypty języka R w potokach za pomocą poleceniaKrok).

Ta metoda nie jest przeznaczona do bezpośredniego użycia. Po utworzeniu wystąpienia potoku w tym kroku usługa Azure ML automatycznie przekazuje parametry wymagane za pośrednictwem tej metody, aby można było dodać krok do grafu potoku reprezentującego przepływ pracy.

create_node(graph, default_datastore, context)

Parametry

Nazwa Opis
graph
Wymagane

Obiekt grafu, do który ma zostać dodany węzeł.

default_datastore
Wymagane

Domyślny magazyn danych.

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

Kontekst grafu.

Zwraca

Typ Opis

Utworzony węzeł.