Установите пакеты R в Azure ML
Это мой первый раз, используя Azure ML
и у меня тяжелое время Мне нужно установить несколько R packages
которые не предоставляются по умолчанию в Azure ML
, Для простоты предположим, что мне нужно только установить forecast
пакет.
Исходя из того, что написано здесь, мне также нужно спланировать установку зависимостей forecast package
, Однако, основываясь на документации, forecast package
имеет почти дюжину зависимостей. Кроме того, эти зависимости, вероятно, имеют зависимости, которые не установлены по умолчанию в Azure ML
, Кроме того, кажется не совсем правильным загружать zip-файл в Azure ML и пытаться заставить все зависимости работать.
Есть ли другой способ установить forecast package
это проще и проще, чем я нашел в Интернете? Что делают компании? Загрузка zip-файла не представляется жизнеспособной!
6 ответов
Вы можете использовать miniCRAN ( https://cran.r-project.org/web/packages/miniCRAN/index.html) для создания zip-файла со всеми включенными зависимостями, затем загрузить zip-файл и использовать его для установки необходимых пакетов. Это также позволяет вам выбрать целевую платформу (type="win.binary") и версию R (RVersion="3.1"), которые имеют решающее значение при использовании Azure ML. Здесь есть учебное пособие ( http://blog.revolutionanalytics.com/2015/10/using-minicran-in-azure-ml.html), в котором описываются шаги.
Есть гораздо более простой способ! Создайте свой скрипт с файлом installs. Например, мой скрипт называетсяeli_test_01.R
имеет:
install.packages("popbio")
Затем перейдите в терминал и используйтеsudo
для запуска скрипта:
sudo Rscript eli_test_01.R
Затем сядьте поудобнее.
Существует еще одно простое решение для загрузки пользовательских пакетов в Azure ML Studio. Я использовал Quanteda в качестве примера. Очистите папку с установленными пакетами., Необходимо избегать путаницы между пакетами, которые уже были в локальной среде, и пакетами, которые были недавно установлены. Далее установите пакет. Во время установки важно сохранить установленные пакеты и порядок установки (так как эти пакеты также могут иметь свои собственные зависимости).
- le package ‘chron’ a été décompressé et les sommes MD5 ont été
vérifiées avec succés
- le package ‘RColorBrewer’ a été décompressé et
les sommes MD5 ont été vérifiées avec succés
- ...
- le package ‘quanteda’ a été décompressé et les
sommes MD5 ont été vérifiées avec succés
Найдите все соответствующие пакеты в той же папке, как указано выше: C:\Users\\Documents\R\win-library\. Затем необходимо сжать каждую упаковку отдельно. Чтобы сэкономить время, вы можете создать простой пакетный файл, который будет архивировать (используя приложение 7z) каждую папку в каталоге (для /d %%X в (*) выполните команду "c:\Program Files\7-Zip\7z.exe"). "%%X.zip" "%%X\").
Затем поместите все архивы в один и загрузите их в среду Azure ML. ПРИМЕЧАНИЕ. Большинство пакетов, от которых зависит quanteda, уже установлены на виртуальной машине Azure, поэтому нет необходимости устанавливать их вручную. Однако для остальных необходимо установить их вручную перед установкой quanteda. Вы можете либо сравнить список зависимостей со списком доступных пакетов, либо загрузить все и добавить пакеты шаг за шагом и просмотреть журнал вывода. Например, если вы устанавливаете Quanteda напрямую без установки его зависимостей (install.packages("src/quanteda.zip", lib = ".", Repos = NULL, verbose = TRUE)) с генерацией следующей ошибки:
Error in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) :
there is no package called 'ca'
Теперь очевидно, что все пакеты, которые идут до 'ca', уже предустановлены. Таким образом, добавление дополнительной установки решит проблему. Таким образом, для установки quanteda необходимы следующие команды:
install.packages("src/ca.zip", lib = ".", repos = NULL, verbose = TRUE)
install.packages("src/quanteda.zip", lib = ".", repos = NULL, verbose = TRUE)
library(quanteda, lib.loc=".", verbose=TRUE)
Теперь вы можете использовать ваши собственные пакеты.
К сожалению, да. Вы можете сделать 2 вещи.
Сначала выясните, какие из зависимостей уже установлены в azureml. Смотрите этот пост
Используйте задачу "Выполнить скрипт R" в AML studio и скопируйте и вставьте следующий скрипт:
out <- data.frame(installed.packages(,,,fields=”Description”)) maml.mapOutputPort(“out”)
Соберите все зависимые пакеты (import и linkingto) и добавьте их в zip-файл (в правильном порядке) и следуйте информации в блоге, на который вы ссылались.
Я использую вариант 1, так как это ограничивает количество необходимых пакетов. Но следует учитывать различия в версиях AzureML и Cran.
AzureML - превосходный инструмент для быстрого создания прототипов, обучения и т. Д. Тот факт, что как версия R, так и поставляемые пакеты R устаревают, представляет опасность для долговечности этого уникального и фантастического инструмента.
Я уверен, что большинство из нас, пользователей, были бы действительно признательны, если бы были доступны более свежие версии пакетов R и самого R (теперь доступны версии 3.4.x против 3.1.x). Например, dplyr - абсолютно важный пакет для манипулирования данными - поставляется в версии 0.4.x, тогда как текущая версия - 0.7.x. В конечном итоге, когда мы пишем модель R, нам нужно вернуться к более примитивному набору программных конструкций, не говоря уже о нефиксированных ошибках.
Вы можете установить любую библиотеку R непосредственно на терминал Azure ML. (Прежде всего, вы уже должны были создать свой вычислительный экземпляр.)
Создайте файл R; например, файл в вашей папке
Внутри файла R напишите следующие команды, чтобы перечислить необходимые пакеты и задать инструкцию для установки (содержимое файла
.r
файл):pkgs <- c("stringr","dplyr","tidyverse","tokenizers","readxl") install.packages(pkgs)
Откройте терминал и запустите
installations.r
файл следующим образом:sudo Rscript installations.r