Azure Интеграция машинного обучения R: Должен ли модуль 'azureml' иметь атрибут 'core'? - PullRequest
0 голосов
/ 10 января 2020

У меня проблемы с Azure SDK машинного обучения для R: «модуль« azureml »не имеет атрибута« core »» ...

По причинам, которые не принадлежат мне, у меня есть использовать azureml для применения машинного обучения (мои собственные материалы, написанные на R) к данным из нашего хранилища данных, которые помещаются в хранилище больших двоичных объектов. Смоделированный вывод должен быть помещен обратно в хранилище больших двоичных объектов, чтобы к нему можно было получить доступ из хранилища данных. Я написал код в R на моей локальной машине (хранится в репозитории git). Желательно, чтобы я нашел какой-нибудь метод для перетаскивания своего кода из git в конвейер в среде azureml, чтобы его можно было напрямую запускать при появлении новых данных в хранилище больших двоичных объектов.

Я приступил на учебном занятии и нашел это, казалось бы, уместное прохождение: Обучите и разверните свою первую модель с Azure ML этой ).

Но .. Попробовав все, о чем я мог подумать, я застрял на первых шагах. После установки всех (или, по крайней мере, .. я так думаю) пакетов, модулей, приложений и т. Д. c и запуска следующего кода в RStudio:

   library(azuremlsdk)
    existing_ws <- get_workspace(name = name, 
                                 subscription_id = subscription_id, 
                                 resource_group)

Я сталкиваюсь с ошибкой, которой у меня нет ' не удалось исправить:

AttributeError: модуль 'azureml' не имеет атрибута 'core'

Кажется, что azuerml должен иметь атрибут "core" , но при более внимательном рассмотрении такого атрибута действительно нет. Функция get_workspace () пытается получить доступ: «azureml $ core $ Workspace $ get». Я обнаружил, что «azuerML $ Workspace» существует, но потом я не могу понять, как заставить это работать.

Может кто-нибудь объяснить мне, почему я сталкиваюсь с этой ошибкой? Кто-нибудь знает лучший учебник по подключению моего R-кода к облачному сервису azureml?

Любые указатели в правильном направлении очень ценятся!


РЕДАКТИРОВАТЬ - все еще не решено: По совету других, я дважды, трижды и в четыре раза проверил установку .

Я обновил R и теперь у меня запущено:

R.version

платформа x86_64-w64-mingw32
arch x86_64
os mingw32
system x86_64, mingw32
status
major 3
minor 6.2
year 2019
месяц 12
день 12
svn rev 77560
язык R
version.string версия R 3.6.6 (2019-12-12) псевдоним Dark and Stormy Night

Я установил Конда с Python 3.6.10. Я установил пакет azuremlsdk R (я попробовал оба предложенных варианта). Затем я понял, что есть некоторые несоответствия с версиями azure -модулей, поэтому я также попытался установить его с ключевым словом 'multi-arch':

remotes::install_cran('azuremlsdk', repos = 'http://cran.us.r-project.org', INSTALL_opts=c("--no-multiarch"))

Затем я установил Лазурный python SDK . Я снова посмотрел все версии (используя python -m pip freeze):

azure -common == 1.1.24

azure -graphrbac == 0.61.1

azure -mgmt-авторизация == 0.60.0

azure -mgmt-containerregistry == 2.8.0

azure -mgmt-keyvault == 2.0.0

azure -mgmt-resource == 7.0.0

azure -mgmt-storage == 7.1.0

azureml == 0.2.7

azureml-automl-core == 1.0.83.1

azureml-core == 1.0.69

azureml-dataprep == 1.1. 36

azureml-dataprep-native == 13.2.0

azureml-pipe == 1.0.69

azureml-pipeline-core == 1.0.69

azureml-pipe-steps == 1.0.69

azureml-sdk == 1.0.69

azureml-телеметрия == 1.0.69

azureml-train == 1.0.69

azureml-train-automl-client == 1.0.83

azureml-train-core == 1.0.69

azureml-train-restclients -hyperdrive == 1.0.69

Как я был удивлен, увидев все версии 1.0.69 вместо 1 +0,0. В 83 версиях я переустановил azureml python sdk, используя:

azuremlsdk::install_azureml(version = "1.0.83")

Это сработало, в том смысле, что все версии теперь 1.0.83:

azure -common == 1.1.24

azure -graphrbac == 0.61.1

azure -mgmt-авторизация == 0.60.0

azure -mgmt-containerregistry == 2.8.0

azure -mgmt-keyvault == 2.0.0

azure -mgmt-resource == 7.0.0

azure -mgmt-storage == 7.1.0

azureml == 0.2.7

azureml-automl-core == 1.0.83.1

azureml -core == 1.0.83

azureml-dataprep == 1.1.36

azureml-dataprep-native == 13.2.0

azureml-pipe == 1.0. 83

azureml-pipe-core == 1.0.83

azureml-pipeline-steps == 1.0.83

azureml-sdk == 1.0.83

azureml-telemetry == 1.0.83

azureml-train == 1.0.83

azureml-train-automl-client == 1.0.83

azureml -train-core == 1.0.83

azureml-train-restclients-hyperdrive == 1.0.83

Но все же ... Я получаю сообщение об ошибке с отсутствующим ядром. Я получаю это как при запуске:

library(azuremlsdk)
get_current_run()

, так и при запуске:

library(azuremlsdk)
existing_ws <- get_workspace(name = name, 
                         subscription_id = subscription_id, 
                         resource_group)

Обратите внимание, что при первом запуске этого кода после запуска RStudio появляется ошибка:

Ошибка в py_get_attr_impl (x, name, silent): AttributeError: модуль 'azureml' не имеет атрибута '_base_sdk_common'

И каждый раз после этого я получаю эту ошибку:

Ошибка в py_get_attr_impl (x, name, silent): AttributeError: модуль 'azureml' не имеет атрибута 'core'

Любая помощь будет принята с благодарностью!

Ответы [ 2 ]

1 голос
/ 27 января 2020

Эта проблема была введена в последнем выпуске reticulate 1.14, в котором reticulate создает стандартную среду r-reticulate conda. Поскольку Azure ML устанавливал python SDK в среде с именем r-azureml, в среде r-reticulate, используемой сеткой, отсутствовал python SDK. Исправление для этой проблемы было исправлено в PR и было объединено с master. Пожалуйста, установите из GitHub сейчас, если у вас есть сетевая версия 1.14 и вы столкнулись с этой проблемой. Мы скоро выпустим обновление для CRAN.

0 голосов
/ 17 января 2020

Кажется, я решил проблему, установив пакет python azureml AND azureml.core:

python -m pip install azureml

, а затем ...

python -m pip install azureml.core

Я сделал это для версии Conda, которая была названа R (r-reticulate). Немного странно не иметь возможности использовать среду Conda 'r-azureml' без переключения R обратно на 'r-reticulate', но что ж ... по крайней мере, я не понимаю, что у моего 'azureml' нет атрибута ' core 'больше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...