h2o steam 部署模型在预测服务中没有输入字段

h2o steam deployed model has no input fields in prediction service

当尝试将 prediction service 用于 steam 部署的模型时,这是我看到的:

请注意,当我单击 "Predict" 按钮时,我从模型中获得了预测标签响应。但是没有显示输入字段。为什么会这样?

我这样开始我的 Steam 会话:

  1. 我启动h2o flow

    java -Xmx4g -jar h2o.jar

  2. 我为预测服务启动了 Steam Jetty 服务器(按照指示 here):

    java -Xmx6g -jar var/master/assets/jetty-runner.jar var/master/assets/ROOT.war

我使用 -Xmx6g 是因为我之前从预测服务中获得了 java.lang.OutOfMemoryError

  1. 我启动steam服务器:

    ./steam serve master --prediction-service-host=localhost --prediction-service-port-range=12345:22345

我为预测服务使用自定义端口范围,因为我在从 steam 部署模型时遇到问题,它无法访问端口 8080(如果有人知道更好的解决方法,请告诉我)。从这里开始,我从 steam 中的本地主机 h2o flow 服务器导入模型并部署它以在 post.

的顶部显示屏幕

我在预测服务 builder 服务器(按照 here) was not showing input fields for .war files built from mojos (see 指令使用 GRADLE_OPTS=-Xmx6g ./gradlew jettyRunWar 启动)之前遇到问题,但我使用的是模型在这种情况下,直接从 h2o flow 导入到 steam。如果有人知道这里发生了什么,那将是一个很大的帮助。谢谢 :)

更新 使用了一个较小的类似模型(POJO 大小约为 200MB),现在可以看到输入字段(在预测服务屏幕上等待约 10 秒后)。虽然无法判断模型当前正在传输哪种文件,但我现在假设是 POJO。一件奇怪的事情是输入字段还包括模型二项式响应标签(好像用户可以选择响应作为输入)。

正如我在另一个问题 中解释的那样,这是因为 UI 尚未更新以处理 MOJO,它目前仅处理 POJO。

您可以使用命令行(或其他工具)向预测服务发送数据和从中获取预测。此处解释了如何执行此操作:https://github.com/h2oai/steam/tree/master/prediction-service-builder