云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

轻量服务器_都江堰网站建设_测评

小七 141 0

andreasforter发表了一篇著名的博客sapdataintelligence:在一个非常容易理解的马拉松时间的ML示例上创建您的第一个ML场景,他使用Python作为编程语言。我利用这个机会,用R作为语言而不是Python重新编写了完全相同的示例。

我部署场景并设法使其运行的基础设施是一个数据智能版本1908。

我开发这个示例的主要目的和驱动程序是在R中提供一些代码片段,以应对一些挑战在编写第一个R运算符时,我花了相当长的时间来搞清楚,例如

在R环境中,云服务器服务器,生成和重新加载模型blob的pickle等价物是什么?blob数据类型是将模型传递给工件生成器所必需的。如何将模型的度量转换为metrics操作符请求的json对象?如何将预测结果传回REST-API?

培训数据

我们使用与Andreas博客中完全相同的培训数据,并将其保存到CAL image固有的Amazon S3存储桶中。

数据探索和自由风格数据科学

在R环境中,云快卖,我们使用R studio而不是Jupyter笔记本。R studio没有像Jupyter notebook那样与数据智能紧密集成。实际上,如果您的数据驻留在SAP HANA中,那么它与SAP HANA有一些集成,请参见Kurt Holst的博客文章。在我们的例子中,最简单的事情是在本地R部署中本地加载csv文件并开始分析那里的数据。我们将使用R中glm系列的广义线性模型

您可以检查数据帧的输入格式类型和变量类型

我们使用手头的所有数据训练模型,首先删除第一个标识列。训练模型后,检查$残差作为模型的属性,该属性随后将用于计算均方根误差作为模型的质量指标。

在这里,还可以检查训练管道中传递给R客户端的度量端口的内容的正确格式(参见以下)。

模型培训后,服务器,模型需要一个blob类型。模型被转换成一个blob类型,并在R中使用rawConnection函数

然后让我们尝试重新加载是否有效并预测样本值

结果的内容最终必须通过restapi传回(参见下面的脚本中的推理管道)。这意味着到目前为止,我们的R脚本已经在部署管道中使用了。

部署

现在一切就绪,可以开始在两个图形管道中部署模型。

一个管道可以训练模型并将其保存到ML场景中。另一个管道将模型表面化为REST-API用于推理

在数据智能中创建一个新的机器学习场景"Marathon Times w/R",并创建一个R类型的生产者管道生产者:

这将生成一个模板,该模板需要稍微调整:

如有必要,替换两个旧的不推荐的R客户端com.sap.system系统模板中的.rClient2com.sap.system系统.r客户端3。对于新的运营商,必须使用与旧的R客户机相同的名称和类型创建端口。可以复制第二R客户端的脚本。配置"Read File"操作符从之前放置的AWS S3 bucket读取列车数据。然后将以下R脚本插入第一个R客户机:

默认的R客户机操作符已经带有三个标记"rserve"、"rjsonlite"和"rmsgpack"。因此,不需要创建自己的dockerfile和相应的组来为该管道提供必要的运行时。

保存管道,最后从scenario manager执行管道。开始执行时,必须给出要培训的模型的名称。

管道将运行,完成并将模型保存到SAP数据湖(SDL)中,并提供上述代码中定义的度量RSME(均方根误差)。

在续篇中,我们希望使用此模型进行实时推断。

为了开始,我们从机器学习场景"Marathon Times w/R"创建一个R类型的消费者管道消费者。

这将为R消费者管道生成一个模板。

同样,管道必须进行调整。保留变量${工件:模型}运算符"Submit Artifact Name"的名称。R客户机中的R脚本必须在某些地方进行调整:

我将用于接收模型的API对象方法从API$setPortCallback更改为API$setSwitchCallback,以确保Rest API对输入的处理仅在我们手头有模型时才开始。模型到达输入端口后,必须将开关变量(switchPosition)设置为TRUE。我没有像模板所设想的那样将响应作为resp$Body和resp$Attributes传回,而是将其改为一行。

当剪切并粘贴到消费者管道中的R客户端脚本时,下面给出的脚本应该可以工作。

保存管道,然后从机器学习场景管理器部署它。在第4步的某个地方,您将被要求使用模型。应该有一个有价值的帮助,选择在培训步骤中创建的模型。

一旦管道运行,就会出现一个部署URL,可以在邮递员中用于马拉松时间的实时预测。

使用该部署URL,在最后扩展/v1/uploadjson/并将其作为请求URL输入Postman。将邮递员中的请求从GET更改为POST。

在"授权"选项卡中,将"授权类型"添加为"基本身份验证",并输入用户名\以及登录数据智能所需的密码。转到"Headers"选项卡,输入键"X-Requested-With",值为"XMLHttpRequest"。

最后,将输入数据传递给REST-API。选择"Body"选项卡,开源建站系统,选择"raw"并输入JSON语法: