我遇到了适用于R的Azure机器学习SDK的问题:“模块'azureml'没有属性'core'” ...
由于不是我自己的原因,我必须使用azureml将机器学习(我自己的东西,用R编写)应用于来自Blob存储中的数据仓库中的数据。建模后的输出应放回Blob存储中,以便可以从数据仓库对其进行访问。
我已经在本地计算机上的R中编写了代码(存储在git repo中)。最好是,我会找到某种方法将我的代码从git中拉到azureml环境中的管道中,以便只要blob存储中有新数据可用,就可以直接运行它。
我开始了疯狂的教程,并发现了以下看似相关的演练:Train and deploy your first model with Azure ML(和this one)。
但是...在尝试了所有我能想到的之后,我陷入了第一步。安装完所有(或至少..我所认为的)软件包,模块,应用程序等,并在RStudio中运行以下代码后:
library(azuremlsdk)
existing_ws <- get_workspace(name = name,
subscription_id = subscription_id,
resource_group)
我遇到了无法修复的错误:
AttributeError:模块“ azureml”没有属性“ core”
似乎azuerml应该具有“核心”属性,但是更仔细地观察时,确实没有这样的属性。
函数“ get_workspace()”正在尝试访问:“ azureml $ core $ Workspace $ get”。
我发现确实存在“ azuerML $ Workspace”,但是后来我不知道如何使它工作。
谁能向我解释为什么我遇到此错误?
有谁知道更好的教程,如何将我的R代码连接到Azureml的云服务?
任何朝着正确方向的指针都将受到赞赏!
编辑-仍未解决:
在别人的建议之后,我对installation进行了两次,三次和四次检查。
我更新了R,现在正在运行:
版本
平台x86_64-w64-mingw32
拱x86_64
操作系统mingw32
系统x86_64,mingw32
状态
专业3
小6.2
年2019
第十二个月
第十二天
svn版本77560
语言R
version.string R版本3.6.2(2019-12-12)
昵称黑暗与暴风雨之夜
我使用Python 3.6.10安装了Conda。
我安装了the azuremlsdk R package(我尝试了两个提供的选项)。
然后,我意识到与azure-modules的版本存在一些不一致之处,因此我也尝试使用关键字“ multi-arch”进行安装:
remotes::install_cran('azuremlsdk', repos = 'http://cran.us.r-project.org', INSTALL_opts=c("--no-multiarch"))
然后,我installed the azureml python sdk。
我再次查看了所有版本(使用python -m pip Frozen):
azure-common == 1.1.24
天青-graphrbac == 0.61.1
azure-mgmt-authorization == 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
天蓝色== 0.2.7
azureml-automl-core == 1.0.83.1
azureml-核心== 1.0.69
azureml-dataprep == 1.1.36
azureml-dataprep-native == 13.2.0
azureml-pipeline == 1.0.69
azureml-pipeline-core == 1.0.69
azureml-pipeline-steps == 1.0.69
azureml-sdk == 1.0.69
天蓝色遥测== 1.0.69
天青素-train == 1.0.69
azureml-train-automl-client == 1.0.83
azureml-train-core == 1.0.69
azureml-火车-restclients-hyperdrive == 1.0.69
当我惊讶地看到所有1.0.69版本而不是1.0.83版本时,我使用以下命令重新安装了azureml python sdk:
azuremlsdk::install_azureml(version = "1.0.83")
从某种意义上说,实际上所有版本现在都是1.0.83,这是可行的:
azure-common == 1.1.24
天青-graphrbac == 0.61.1
azure-mgmt-authorization == 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
天蓝色== 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-pipeline == 1.0.83
azureml-pipeline-core == 1.0.83
azureml-pipeline-steps == 1.0.83
azureml-sdk == 1.0.83
天蓝色遥测== 1.0.83
azureml-train == 1.0.83
azureml-train-automl-client == 1.0.83
azureml-train-core == 1.0.83
azureml-火车-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”
任何帮助将非常感激!
最佳答案
此问题是由最新的网状1.14版本引入的,其中网状将创建默认的r-reticulate
conda环境。由于Azure ML在名为r-azureml
的环境中安装python SDK,因此网状网使用的r-reticulate
环境缺少python SDK。 PR中已解决此问题的修补程序,该修补程序已合并到master中。如果您有网状版本1.14并遇到此问题,请立即从GitHub安装。我们将很快发布CRAN的更新。