Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ОБЛАСТЬ ПРИМЕНЕНИЯ:
Расширение Azure CLI ml версии 2 (текущий)
Python SDK azure-ai-ml версии 2 (текущий)
В этой статье показано, как использовать R в студии машинного обучения Azure на вычислительном экземпляре, который запускает ядро R в записной книжке Jupyter.
Также работает популярная интегрированная среда разработки RStudio. Вы можете установить RStudio или Posit Workbench в пользовательском контейнере на вычислительном экземпляре. Однако это решение ограничено в возможности чтения и записи в рабочую область Azure Machine Learning.
Внимание
Код, показанный в этой статье, работает на вычислительном экземпляре Azure Machine Learning. Вычислительный экземпляр имеет среду и файл конфигурации, необходимый для успешного выполнения кода.
Предварительные условия
- Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе. Опробуйте бесплатную или платную версию Машинного обучения Azure уже сегодня.
- Рабочая область Машинного обучения Azure и вычислительный экземпляр.
- Базовое понимание использования записных книжек Jupyter в студии машинного обучения Azure. Дополнительные сведения см. в разделе "Разработка моделей" на ресурсе облачной рабочей станции .
Запуск R в блокноте в среде Studio.
Используйте записную книжку в рабочей области Машинного обучения Azure на вычислительном экземпляре.
Войдите в Студию машинного обучения Azure.
Откройте рабочую область, если она еще не открыта.
В области навигации слева выберите "Записные книжки".
Создайте записную книжку с именем RunR.ipynb.
Совет
Если вы не знаете, как создавать и работать с записными книжками в студии, просмотрите Запуск записных книжек Jupyter в рабочей области.
Выберите записную книжку.
На панели инструментов ноутбука убедитесь, что вычислительный экземпляр запущен. Если нет, запустите его сейчас.
На панели инструментов записной книжки переключите ядро на R.
Теперь записная книжка готова к выполнению команд R.
Доступ к данным
Вы можете передать файлы в ресурс хранилища файлов рабочей области, а затем получить доступ к этим файлам в R. Однако для файлов, хранящихся в ресурсах данных Azure или данных из хранилищ данных, необходимо установить некоторые пакеты.
В этом разделе описывается, как использовать Python и reticulate пакет для загрузки ресурсов данных и хранилищ данных в R из интерактивного сеанса. Вы используете пакет azureml-fsspec Python и пакет reticulate R для чтения табличных данных в виде кадров данных Pandas. В этом разделе также приведен пример чтения ресурсов данных и хранилищ данных в R data.frame.
Чтобы установить эти пакеты, выполните приведенные ниже действия.
Создайте новый файл в вычислительном экземпляре с именем setup.sh.
Скопируйте следующий код в файл:
#!/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Выберите Сохранить и запустить скрипт в терминале, чтобы запустить скрипт.
Сценарий установки обрабатывает следующие действия:
-
pipустанавливаетazureml-fsspecв среду conda по умолчанию для вычислительного экземпляра. - При необходимости устанавливает пакет R
reticulate(версия должна быть 1.26 или более поздней).
Чтение табличных данных из зарегистрированных ресурсов данных или хранилищ данных
Для данных, хранящихся в ресурсе данных, созданном в Azure Machine Learning, выполните следующие действия, чтобы прочитать эти табличные данные в Pandas DataFrame или R:
Примечание.
Чтение файла с помощью reticulate работает только с табличными данными.
Убедитесь, что
reticulateпакет установлен.packageVersion("reticulate")Загрузка
reticulateи установка среды conda, в которойazureml-fsspecбыла установленаlibrary(reticulate) use_condaenv("azureml_py310_sdkv2") print("Environment is set")Найдите путь URI к файлу данных.
Сначала получите дескриптор для вашей рабочей области.
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")Используйте этот код для получения ресурса. Обязательно замените
<MY_NAME>и<MY_VERSION>на имя и номер ресурса данных.Совет
В студии выберите Данные в левой области навигации, чтобы найти имя и номер версии ресурса данных.
# 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"Чтобы получить универсальный код ресурса (URI), выполните код.
py_run_string(py_code) print(paste("URI path is", py$data_uri))
Используйте функции чтения Pandas для чтения файла или файлов в среде R.
pd <- import("pandas") cc <- pd$read_csv(py$data_uri) head(cc)
Установка пакетов R
Вычислительный экземпляр поставляется со многими предустановленными пакетами R.
Чтобы установить другие пакеты, необходимо явно указать расположение и зависимости.
Совет
При создании или использовании другого вычислительного экземпляра необходимо переустановить все установленные пакеты.
Например, чтобы установить tsibble пакет, выполните следующие действия.
install.packages("tsibble",
dependencies = TRUE,
lib = "/home/azureuser")
Примечание.
Если вы устанавливаете пакеты в сеансе R, который выполняется в записной книжке Jupyter, включите dependencies = TRUE. В противном случае зависимые пакеты не будут автоматически устанавливаться. Также необходимо указать расположение библиотеки для установки в нужную директорию вычислительного экземпляра.
Загрузка библиотек R
Добавьте в путь к библиотеке R /home/azureuser.
.libPaths("/home/azureuser")
Совет
Чтобы получить доступ к библиотекам, установленным пользователями, необходимо обновить .libPaths в каждом интерактивном скрипте R. Добавьте этот код в верхнюю часть каждого интерактивного скрипта R или записной книжки.
После обновления libPath загрузите библиотеки как обычно.
library('tsibble')
Используйте R в записной книжке
Помимо описанных выше проблем используйте R, как и в любой другой среде, включая локальную рабочую станцию. В вашей записной книжке или скрипте можно читать и записывать в путь, где они хранятся.
Примечание.
- В интерактивном сеансе R вы можете записывать только в файловую систему рабочей области.
- В интерактивном сеансе R невозможно взаимодействовать с MLflow (например, моделью журнала или реестром запросов).