Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ОБЛАСТЬ ПРИМЕНЕНИЯ:Расширение Azure CLI ml версии 2 (текущий)
Python SDK azure-ai-ml версии 2 (текущий)
В этой статье показано, как использовать R в студии машинного обучения Azure на вычислительном экземпляре, который запускает ядро R в записной книжке Jupyter.
Также работает популярная интегрированная среда разработки RStudio. Вы можете установить RStudio или Posit Workbench в пользовательском контейнере на вычислительном экземпляре. Однако это имеет ограничения на чтение и запись в рабочую область Azure машинного обучения.
Внимание
Код, показанный в этой статье, работает на вычислительном экземпляре Azure Machine Learning. Вычислительный экземпляр имеет среду и файл конфигурации, необходимый для успешного выполнения кода.
Предварительные условия
- Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе. Попробуйте бесплатную или платную версию Машинного обучения Azure прямо сейчас.
- Рабочая область для Машинного обучения Azure и вычислительный экземпляр
- Базовые знания использования записных книжек Jupyter в Azure Machine Learning Studio. Дополнительные сведения см. в разделе "Разработка моделей" на ресурсе облачной рабочей станции .
Запуск R в блокноте в среде Studio.
Вы будете использовать записную книжку в рабочей области Azure Machine Learning на вычислительном узле.
Войдите в Студию машинного обучения 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
. Для версии менее 1.26 попробуйте использовать более новый вычислительный экземпляр.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 Notebook, dependencies = TRUE
требуется. В противном случае зависимые пакеты не будут автоматически устанавливаться. Для установки также необходимо, чтобы библиотека находилась в правильном местоположении вычислительного экземпляра.
Загрузка библиотек R
Добавьте в путь к библиотеке R /home/azureuser
.
.libPaths("/home/azureuser")
Совет
Чтобы получить доступ к библиотекам, установленным пользователями, необходимо обновить .libPaths
в каждом интерактивном скрипте R. Добавьте этот код в верхнюю часть каждого интерактивного скрипта R или записной книжки.
После обновления libPath загрузите библиотеки как обычно.
library('tsibble')
Используйте R в записной книжке
Помимо описанных выше проблем, используйте R, как и в любой другой среде, включая локальную рабочую станцию. В записной книжке или скрипте можно читать и записывать данные в путь, в котором хранится записная книжка или скрипт.
Примечание.
- В интерактивном сеансе R вы можете записывать только в файловую систему рабочей области.
- В интерактивном сеансе R невозможно взаимодействовать с MLflow (например, моделью журнала или реестром запросов).