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._PythonScriptStepBaseRScriptStep
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
|
[Wymagane] Nazwa skryptu języka R względem |
name
Wymagane
|
Nazwa kroku. Jeśli nie zostanie określona, |
arguments
Wymagane
|
Argumenty wiersza polecenia dla pliku skryptu języka R. Argumenty zostaną przekazane do obliczeń za pośrednictwem parametru |
compute_target
Wymagane
|
[Wymagane] Docelowy obiekt obliczeniowy do użycia. Jeśli nie zostanie określona, zostanie użyta wartość docelowa z obiektu |
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
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
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
|
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 |
custom_docker_image
Wymagane
|
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
|
Opcjonalny tag wersji, aby oznaczyć zmianę funkcjonalności kroku. |
script_name
Wymagane
|
[Wymagane] Nazwa skryptu języka R względem |
name
Wymagane
|
Nazwa kroku. Jeśli nie zostanie określona, |
arguments
Wymagane
|
Argumenty wiersza polecenia dla pliku skryptu języka R. Argumenty zostaną przekazane do obliczeń za pośrednictwem parametru |
compute_target
Wymagane
|
[Wymagane] Docelowy obiekt obliczeniowy do użycia. Jeśli nie zostanie określona, zostanie użyta wartość docelowa z obiektu |
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
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
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
|
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 |
custom_docker_image
Wymagane
|
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
|
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ł. |