首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从CMD line R使用plumber API部署模型?

如何从CMD line R使用plumber API部署模型?
EN

Stack Overflow用户
提问于 2019-05-17 07:16:04
回答 1查看 313关注 0票数 1

刚开始使用plumber API,尝试部署R模型时,我保存了R模型和一个测试数据(OneRecord)。从CMD行运行管道工API,127.0.0.1:8000返回错误"{" Error ":"500 -内部服务器错误“}”,终端显示错误"simpleError in if (opts$show.learner.output) identity else capture.output: argument is is length 0“

我的R代码

代码语言:javascript
复制
#plumb_test.R
library(plumber)
#Simple msg command
#* @apiTitle Plumber Example API

#* Echo back the input
#* @param msg The message to echo
#* @get /echo
function(msg=""){
  list(msg = paste0("The message is: '", msg, "'"))
}

#My Model
#* @get /run
function(){
  rf_prediction <- predict(readRDS("rf_unwrap.rds"), newdata = as.data.frame(readRDS("Test_data.Rds")))
  rf_prediction$data
}

管道工运行的R代码

代码语言:javascript
复制
library(plumber)
pr <- plumb("plumb_test.R")
pr$run(port=8000)

味精正常工作

代码语言:javascript
复制
http://127.0.0.1:8000/echo?msg=hellohru

returns me

{"msg":["The message is: 'hellohru'"]}

但我的模型又回来了

代码语言:javascript
复制
{"error":["500 - Internal server error"]}
in the terminal I am getting
> pr$run(port=8000)
Starting server to listen on port 8000
<simpleError in if (opts$show.learner.output) identity else capture.output: argument is of length zero>

我正在从windows cmd行运行,如下所示

代码语言:javascript
复制
C:\R\R-3.5.2\bin>r -f plumb_run.R

所有文件都在bin文件夹中(模型、测试数据、铅垂R脚本)

期望预测的输出,不确定错误是什么意思。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-17 09:57:48

加载mlr库和plumber,并在函数中使用print,一切都正常

代码语言:javascript
复制
library(plumber)
library(mlr)
#My Model
#* @get /run
function(){
  print(predict(readRDS("rf_unwrap.rds"), newdata = as.data.frame(readRDS("Test_data.Rds")))$data)
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56177710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档