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
|
[Wymagane] Nazwa skryptu języka R względem |
name
Wymagane
|
Nazwa kroku. Jeśli nie określono, |
arguments
Wymagane
|
Argumenty wiersza polecenia dla pliku skryptu języka R. Argumenty zostaną przekazane do obliczeń za pośrednictwem parametru w elem |
compute_target
Wymagane
|
[Wymagane] Docelowy obiekt obliczeniowy do użycia. Jeśli element docelowy 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 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
|
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 "AML_PARAMETER_". |
source_directory
Wymagane
|
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 |
custom_docker_image
Wymagane
|
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
|
Opcjonalny tag wersji, aby oznaczyć zmianę funkcji dla kroku. |
script_name
Wymagane
|
[Wymagane] Nazwa skryptu języka R względem |
name
Wymagane
|
Nazwa kroku. Jeśli nie określono, |
arguments
Wymagane
|
Argumenty wiersza polecenia dla pliku skryptu języka R. Argumenty zostaną przekazane do obliczeń za pośrednictwem parametru w elem |
compute_target
Wymagane
|
[Wymagane] Docelowy obiekt obliczeniowy do użycia. Jeśli wartość docelowa nie zostanie określona, zostanie użyta wartość docelowa |
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
|
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 "AML_PARAMETER_". |
source_directory
Wymagane
|
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 |
custom_docker_image
Wymagane
|
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
|
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ł. |