Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
DOTYCZY:Rozszerzenie Azure CLI ml w wersji 2 (bieżąca)
Zestaw Python SDK azure-ai-ml v2 (bieżąca)
W tym artykule pokazano, jak używać języka R w usłudze Azure Machine Learning Studio w wystąpieniu obliczeniowym, które uruchamia jądro języka R w notesie Jupyter.
Działa również popularne środowisko IDE programu RStudio. Program RStudio lub Posit Workbench można zainstalować w niestandardowym kontenerze na instancji obliczeniowej. Jednak ma to ograniczenia dotyczące odczytywania i zapisywania w obszarze roboczym usługi Azure Machine Learning.
Ważne
Kod przedstawiony w tym artykule działa w wystąpieniu obliczeniowym usługi Azure Machine Learning. Wystąpienie obliczeniowe ma plik środowiska i konfiguracji niezbędny do pomyślnego uruchomienia kodu.
Wymagania wstępne
- Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto. Wypróbuj bezpłatną lub płatną wersję usługi Azure Machine Learning już dziś
- Obszar roboczy usługi Azure Machine Learning i instancja obliczeniowa
- Podstawowa wiedza na temat korzystania z notesów Jupyter w usłudze Azure Machine Learning Studio. Aby uzyskać więcej informacji, odwiedź stronę Tworzenie modelu na zasobie stacji roboczej w chmurze.
Uruchamianie języka R w notesie w programie Studio
W wystąpieniu obliczeniowym użyjesz notesu w obszarze roboczym usługi Azure Machine Learning.
Zaloguj się do usługi Azure Machine Learning Studio
Otwórz obszar roboczy, jeśli nie został jeszcze otwarty
W lewej nawigacji wybierz pozycję Notesy
Tworzenie nowego notesu o nazwie RunR.ipynb
Napiwek
Jeśli nie masz pewności, jak tworzyć notesy i pracować z notesami w programie Studio, zapoznaj się z tematem Uruchamianie notesów Jupyter w obszarze roboczym
Wybierz zeszyt.
Na pasku narzędzi notatnika upewnij się, że instancja obliczeniowa jest uruchomiona. Jeśli nie, uruchom go teraz.
Na pasku narzędzi notesu przełącz jądro na R.
Twój notatnik jest teraz gotowy do uruchamiania poleceń języka R.
Uzyskiwanie dostępu do danych
Możesz przekazać pliki do zasobu magazynu plików obszaru roboczego, a następnie uzyskać dostęp do tych plików w języku R. Jednak w przypadku plików przechowywanych w zasobach danych platformy Azure lub danych z magazynów danych należy zainstalować niektóre pakiety.
W tej sekcji opisano sposób używania języka Python i reticulate
pakietu do ładowania zasobów danych i magazynów danych do języka R z sesji interaktywnej. Korzystasz z pakietu języka Python azureml-fsspec
oraz pakietu języka R reticulate
do odczytywania danych tabelarycznych jako ramki danych biblioteki Pandas. Ta sekcja zawiera również przykład odczytywania zasobów danych i magazynów danych w języku R data.frame
.
Aby zainstalować te pakiety:
Utwórz nowy plik w wystąpieniu obliczeniowym o nazwie setup.sh.
Skopiuj ten kod do pliku:
#!/bin/bash set -e # Installs azureml-fsspec in default conda environment # Does not need to run as sudo eval "$(conda shell.bash hook)" conda activate azureml_py310_sdkv2 pip install azureml-fsspec conda deactivate # Checks that version 1.26 of reticulate is installed (needs to be done as sudo) sudo -u azureuser -i <<'EOF' R -e "if (packageVersion('reticulate') >= 1.26) message('Version OK') else install.packages('reticulate')" EOF
Wybierz pozycję Zapisz i uruchom skrypt w terminalu , aby uruchomić skrypt
Skrypt instalacji obsługuje następujące kroki:
-
pip
instalujeazureml-fsspec
w domyślnym środowisku conda dla instancji obliczeniowej - Instaluje pakiet języka R
reticulate
w razie potrzeby (wersja musi być 1.26 lub nowsza)
Odczytywanie danych tabelarycznych z zarejestrowanych zasobów danych lub magazynów danych
W przypadku danych przechowywanych w zasobie danych utworzonym w usłudze Azure Machine Learning, wykonaj następujące kroki, aby odczytać ten plik tabelaryczny w ramach danych Biblioteki Pandas lub R data.frame
:
Uwaga
Odczytywanie pliku z reticulate
działa tylko w przypadku danych tabelarycznych.
Upewnij się, że masz poprawną wersję programu
reticulate
. W przypadku wersji mniejszej niż 1.26 spróbuj użyć nowszego wystąpienia obliczeniowego.packageVersion("reticulate")
Załaduj
reticulate
i ustaw środowisko conda, w którym zainstalowanoazureml-fsspec
.library(reticulate) use_condaenv("azureml_py310_sdkv2") print("Environment is set")
Znajdź ścieżkę identyfikatora URI do pliku danych.
Najpierw uzyskaj dojście do obszaru roboczego
py_code <- "from azure.identity import DefaultAzureCredential from azure.ai.ml import MLClient credential = DefaultAzureCredential() ml_client = MLClient.from_config(credential=credential)" py_run_string(py_code) print("ml_client is configured")
Użyj tego kodu, aby pobrać zasób. Pamiętaj, aby zastąpić
<MY_NAME>
i<MY_VERSION>
nazwą i numerem zasobu danych.Napiwek
W programie Studio wybierz pozycję Dane w obszarze nawigacji po lewej stronie, aby znaleźć nazwę i numer wersji zasobu danych.
# Replace <MY_NAME> and <MY_VERSION> with your values py_code <- "my_name = '<MY_NAME>' my_version = '<MY_VERSION>' data_asset = ml_client.data.get(name=my_name, version=my_version) data_uri = data_asset.path"
Aby pobrać identyfikator URI, uruchom kod.
py_run_string(py_code) print(paste("URI path is", py$data_uri))
Użyj funkcji odczytu biblioteki Pandas, aby załadować plik lub pliki do środowiska R.
pd <- import("pandas") cc <- pd$read_csv(py$data_uri) head(cc)
Instalowanie pakietów R
Wystąpienie obliczeniowe ma wiele wstępnie zainstalowanych pakietów języka R.
Aby zainstalować inne pakiety, należy jawnie stwierdzić lokalizację i zależności.
Napiwek
Podczas tworzenia lub używania innego wystąpienia obliczeniowego należy ponownie zainstalować wszystkie zainstalowane pakiety.
Aby na przykład zainstalować tsibble
pakiet:
install.packages("tsibble",
dependencies = TRUE,
lib = "/home/azureuser")
Uwaga
W przypadku instalowania pakietów w ramach sesji języka R, która jest uruchamiana w notesie Jupyter, wymagane jest dependencies = TRUE
. W przeciwnym razie pakiety zależne nie zostaną automatycznie zainstalowane. Lokalizacja biblioteki jest również wymagana do zainstalowania w prawidłowej lokalizacji instancji obliczeniowej.
Ładowanie bibliotek języka R
Dodaj /home/azureuser
do ścieżki biblioteki języka R.
.libPaths("/home/azureuser")
Napiwek
Aby uzyskać dostęp do bibliotek zainstalowanych przez użytkownika, należy zaktualizować .libPaths
w każdym interaktywnym skrypcie R. Dodaj ten kod na początku każdego interaktywnego skryptu języka R lub notesu.
Po zaktualizowaniu biblioteki libPath załaduj biblioteki tak jak zwykle.
library('tsibble')
Używanie języka R w notesie
Poza opisanymi wcześniej problemami należy użyć języka R, tak jak w każdym innym środowisku, w tym lokalnej stacji roboczej. W notesie lub skrypcie możesz odczytywać i zapisywać do ścieżki, w której notes/skrypt jest przechowywany.
Uwaga
- Z interaktywnej sesji R można zapisywać tylko w systemie plików workspace.
- Z interakcyjnej sesji języka R nie można wchodzić w interakcje z platformą MLflow (na przykład z modelem dziennika lub rejestrem zapytań).