我想将一个基本的经过训练的R模型作为webservice部署到AzureML。类似于这里所做的:http://www.r-bloggers.com/deploying-a-car-price-model-using-r-and-azureml/
由于R AzureML包中post 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),并在R中调用utils
库,它允许R直接与zip文件交互。但我无法摆脱这个错误。
我还找到了抛出错误的R包代码,它位于此页面的第154行:https://github.com/RevolutionAnalytics/AzureML/blob/master/R/internal.R
但这并不能帮助我弄清楚该怎么做。
提前感谢您的帮助!
发布于 2016-04-04 22:09:06
我之前看到了这个链接,但是使我的代码不工作的额外说明是1。Rtools的地址和路径不是直接向前的2。你需要重新启动R
关于地址-请始终查看它的安装位置。我还使用此代码来设置路径,并始终在末尾添加ZIP
##Rtools.bin="C:\\Users\\User_2\\R-Portable\\Rtools\\bin"
Rtools.bin="C:\\Rtools\\bin\\zip"
sys.path = Sys.getenv("PATH")
if (Sys.which("zip") == "" ) {
system(paste("setx PATH \"", Rtools.bin, ";", sys.path, "\"", sep = ""))
}
Sys.which("zip")
you should get a return of
" C:\\RTools|\bin\zip"
发布于 2018-06-09 03:42:38
尝试使用以下压缩命令-Download Rtools文件,该文件通常包含压缩实用程序。将"Rtools“的”-Copy“文件夹中的所有文件放入”~/RStudio/ -Paste /x64“文件夹中
https://stackoverflow.com/questions/35178688
复制相似问题