如何使用CMD线R的水管工API部署模型



新的使用水管工API,尝试部署R模型,我保存了R模型和一个测试数据(ONERECORD(。从CMD线运行水管工API,127.0.0.1:8000返回错误" {"错误":[" 500-内部服务器错误"]}"终端显示了" if in if(opts $ show.learner.output(身份的错误" else capture.output:参数为零零"

我的R代码

#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 run的r代码

library(plumber)
pr <- plumb("plumb_test.R")
pr$run(port=8000)

msg正常工作

http://127.0.0.1:8000/echo?msg=hellohru
returns me
{"msg":["The message is: 'hellohru'"]}

但是我的模型返回

{"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行中运行,如下所示

C:RR-3.5.2bin>r -f plumb_run.R

所有文件均在bin文件夹中(模型,测试数据,铅脚本脚本(

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

加载MLR库以及水管工并在功能中使用打印,一切都起作用

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

相关内容

  • 没有找到相关文章

最新更新