gpt4 book ai didi

r - 从 R 发布 AzureML Web 服务需要外部 zip 实用程序

转载 作者:行者123 更新时间:2023-12-01 03:35:40 26 4
gpt4 key购买 nike

我想将经过训练的基本 R 模型作为 Web 服务部署到 AzureML。类似于这里所做的:
http://www.r-bloggers.com/deploying-a-car-price-model-using-r-and-azureml/

由于该帖子中 R AzureML 包中的 publishWebService 函数已更改,因此现在需要我将工作区对象作为第一个参数,因此我的 R 代码如下所示:

    library(MASS)
library(AzureML)

PredictionModel = lm( medv ~ lstat , data = Boston )

PricePredFunktion = function(percent)
{return(predict(PredictionModel, data.frame(lstat =percent)))}

myWsID = "<my Workspace ID>"
myAuth = "<my Authorization code"

ws = workspace(myWsID, myAuth, api_endpoint = "https://studio.azureml.net/", .validate = TRUE)

# publish the R function to AzureML
PricePredService = publishWebService(
ws,

"PricePredFunktion",
"PricePredOnline",
list("lstat" = "float"),
list("mdev" = "float"),
myWsID,
myAuth
)

但是每次执行代码时都会出现以下错误:
    Error in publishWebService(ws, "PricePredFunktion", "PricePredOnline",  : 
Requires external zip utility. Please install zip, ensure it's on your path and try again.

我尝试在我的机器上安装处理 zip 文件(如 7zip)的程序以及调用 utils R 中的库,它允许 R 直接与 zip 文件交互。但我无法摆脱错误。

我还发现了抛出错误的 R 包代码,它在本页的第 154 行:
https://github.com/RevolutionAnalytics/AzureML/blob/master/R/internal.R

但这并没有帮助我弄清楚该怎么做。

在此先感谢您的帮助!

最佳答案

Azure 机器学习 API 要求压缩有效负载,这就是该包坚持安装 zip 实用程序的原因。 (这是一个不幸的情况,希望我们将来能找到一种方法来在包中包含一个 zip。)

您不太可能在 Linux 上遇到这种情况,因为大多数(所有?)Linux 发行版都包含一个 zip 实用程序。

因此,在 Windows 上,您必须执行以下过程一次:

  • 安装一个 zip 实用程序(RTools 有一个并且可以使用)
  • 确保 zip 在您的路径上
  • 重启 R——这很重要,否则 R 将无法识别更改后的路径

  • 完成后,试金石是测试 R 是否可以看到您的 zip。为此,请尝试:
    Sys.which("zip")

    你应该得到类似这样的结果:
                                 zip 
    "C:\\Rtools\\R-3.1\\bin\\zip.exe"

    换句话说,R 应该识别安装路径。

    以前人们告诉我这不起作用时,它是 总是 因为他们认为他们的路径上有 zipper ,但事实证明他们没有。

    最后一条评论:安装 7zip 可能不起作用。原因是 7zip 包含一个名为 7zip 的实用程序,但 R 只会寻找一个名为 zip 的实用程序。

    关于r - 从 R 发布 AzureML Web 服务需要外部 zip 实用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35178688/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com