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/azuremlexperimental.

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ą polecenia CommandStep).

Dziedziczenie
azureml.pipeline.core._python_script_step_base._PythonScriptStepBase
RScriptStep

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 zostanie określona, script_name zostanie użyta.

arguments
Wymagane

Argumenty wiersza polecenia dla pliku skryptu języka R. Argumenty zostaną przekazane do obliczeń za pośrednictwem parametru arguments w funkcji 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 nie zostanie określona, zostanie użyta wartość docelowa z obiektu 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 docelowego obiektu obliczeniowego", "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 programie RSection. W tym kroku jest wymagana funkcja RSection.

runconfig_pipeline_params
Wymagane

Zastępuje 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 wartością "AML_PARAMETER_".

source_directory
Wymagane
str

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

use_gpu
Wymagane

Wskazuje, czy środowisko do uruchomienia eksperymentu powinno obsługiwać procesory GPU. Jeśli wartość True, 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 do 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 po ponownym uruchomieniu z tymi samymi ustawieniami. Ponowne użycie jest domyślnie włączone. Jeśli zawartość kroku (skrypty/zależności) oraz dane wejściowe i parametry pozostają niezmienione, dane wyjściowe z poprzedniego uruchomienia tego kroku są ponownie używane. Podczas ponownego wykonywania kroku zamiast przesyłania zadania do obliczeń wyniki z poprzedniego przebiegu są natychmiast udostępniane wszystkim 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ę funkcjonalności kroku.

script_name
Wymagane
str

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

name
Wymagane
str

Nazwa kroku. Jeśli nie zostanie określona, script_name zostanie użyta.

arguments
Wymagane

Argumenty wiersza polecenia dla pliku skryptu języka R. Argumenty zostaną przekazane do obliczeń za pośrednictwem parametru arguments w funkcji 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 nie zostanie określona, zostanie użyta wartość docelowa z obiektu 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 docelowego obiektu obliczeniowego", "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 programie RSection. W tym kroku jest wymagana funkcja RSection.

runconfig_pipeline_params
Wymagane

Zastępuje 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 wartością "AML_PARAMETER_".

source_directory
Wymagane
str

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

use_gpu
Wymagane

Wskazuje, czy środowisko do uruchomienia eksperymentu powinno obsługiwać procesory GPU. Jeśli wartość True, 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 do 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. Użyj RSection.github_packages zamiast tego.

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 po ponownym uruchomieniu z tymi samymi ustawieniami. Ponowne użycie jest domyślnie włączone. Jeśli zawartość kroku (skrypty/zależności) oraz dane wejściowe i parametry pozostają niezmienione, dane wyjściowe z poprzedniego uruchomienia tego kroku są ponownie używane. Podczas ponownego wykonywania kroku zamiast przesyłania zadania do obliczeń wyniki z poprzedniego uruchomienia 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

Element RScriptStep to podstawowy, wbudowany krok uruchamiania skryptu języka R w obiekcie docelowym obliczeniowym. Pobiera ona 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 kodu RScriptStep, takiego jak niestandardowy obraz platformy Docker, wymagane pakiety cran/github.

Najlepszym rozwiązaniem do pracy z językiem RScriptStep jest użycie oddzielnego folderu dla skryptów i wszystkich zależnych plików skojarzonych z krokiem i określenia tego folderu z parametrem source_directory . Poniższe najlepsze rozwiązanie 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ć skryptu 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)

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

Metody

create_node

Utwórz węzeł dla skryptu RScriptKrok 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ą polecenia CommandStep).

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

create_node

Utwórz węzeł dla skryptu RScriptKrok 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ą polecenia CommandStep).

Ta metoda nie jest przeznaczona do użycia bezpośrednio. Po utworzeniu wystąpienia potoku w tym kroku usługa Azure ML automatycznie przekazuje parametry wymagane za pomocą tej metody, aby można było dodać krok do wykresu 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ł.