温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
Fayson的github:
https://github.com/fayson/cdhproject
提示:代码块部分可以左右滑动查看噢
1.文档编写目的
在前面的文章Fayson介绍了关于《CDSW1.4的新功能》、《Hadoop之上的模型训练 - CDSW1.4新功能模块》、《CDSW1.4的Experiments功能使用》及《Hadoop之上的模型部署 - CDSW1.4新功能模块》,本篇文章Fayson主要以实操的方式介绍CDSW1.4版本中新增的Models的功能,创建和部署模型。
1.Models使用
2.总结
1.CM和CDH版本为5.15
2.CDSW版本为1.4
3.操作系统为RedHat7.4
2.Models功能使用
CDSW可以让你在一个脚本中创建各种函数并以REST API的方式部署。对于机器学习项目来说,你可能在脚本中创建了一个预测函数,它会接受输入并基于模型的参数返回预测。
这个QuickStart demo会创建一个非常简单的函数,它添加两个数字并将其部署为返回数字总和的模型。此函数将接受JSON格式的两个数字作为输入并返回总和。
接下来Fayson通过一个简单的示例说明Model功能的使用,详细步骤如下:
1.登录CDSW平台创建一个Python模板的工程
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QpDMAB6u-1583680830242)(https://ask.qcloudimg.com/http-save/yehe-1522219/rd4tb26wm2.png)]
工程创建成功,进入工程目录列表
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DeObQn0x-1583680830244)(https://ask.qcloudimg.com/http-save/yehe-1522219/u6xiinpqvu.jpeg)]
2.点击“Open Workbench”选择Python3环境并启动会话
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ncoNvbNv-1583680830245)(https://ask.qcloudimg.com/http-save/yehe-1522219/iwi03etxr7.jpeg)]
会话启动成功
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b7tokRdA-1583680830246)(https://ask.qcloudimg.com/http-save/yehe-1522219/k6gssx05jp.jpeg)]
3.创建一个名为add_numbers.py文件,定义一个用于调用model的函数,内容如下:
def add(args):
result = args["a"] + args["b"]
return result
(可左右滑动)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JuYJHnXD-1583680830247)(https://ask.qcloudimg.com/http-save/yehe-1522219/tftdzype92.jpeg)]
在部署model之前,在会话节点执行命令测试add_numbers.py是否正常运行
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lLAmIdx6-1583680830247)(https://ask.qcloudimg.com/http-save/yehe-1522219/sbflklnbxu.jpeg)]
4.回去Project概述界面,点击左侧“Models”新建一个Model
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4FRdGVqW-1583680830248)(https://ask.qcloudimg.com/http-save/yehe-1522219/2kzsuc6ogl.png)]
点击“new model”进入Model创建界面
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ghl7J969-1583680830248)(https://ask.qcloudimg.com/http-save/yehe-1522219/ljbccphb0r.jpeg)]
注意:上述的输入参数必须为JSON格式的,截图中的单引号会有问题
完成Model信息填写后,点击底部菜单“Deploy Model”
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-foZ5TNux-1583680830248)(https://ask.qcloudimg.com/http-save/yehe-1522219/duddo35qzb.jpeg)]
部署成功后显示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7ATq5jDV-1583680830249)(https://ask.qcloudimg.com/http-save/yehe-1522219/bqrna1f1vw.jpeg)]
5.点击Model名称进入查看详细信息
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yU2w0sqY-1583680830249)(https://ask.qcloudimg.com/http-save/yehe-1522219/d8f19l231s.jpeg)]
6.提供model测试功能
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BWxHkWYw-1583680830249)(https://ask.qcloudimg.com/http-save/yehe-1522219/7ud8g0esyl.jpeg)]
7.Deployments界面可以看到该Model的部署记录
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Dwkbmfwg-1583680830250)(https://ask.qcloudimg.com/http-save/yehe-1522219/f2sv5ay376.jpeg)]
8.Builds界面可以看到Model部署依赖的Docker容器准备过程
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3GnXjeKO-1583680830250)(https://ask.qcloudimg.com/http-save/yehe-1522219/cqy8uhvhuc.jpeg)]
9.Monitoring界面可以看到部署的Model的每个副本状态及日志信息
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IXfcschb-1583680830250)(https://ask.qcloudimg.com/http-save/yehe-1522219/7x6qedf14t.jpeg)]
10.Settings界面提供Model名称及描述信息以、访问秘钥的修改以及删除Model
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MY9kupyj-1583680830251)(https://ask.qcloudimg.com/http-save/yehe-1522219/gyygmlrii0.jpeg)]
如上关于CDSW的Models功能的演示。更多说明可以参考官网:
https://www.cloudera.com/documentation/data-science-workbench/latest/topics/cdsw_models.html
3.总结
1.Model默认继承工程所在环境(如:engine,依赖包等),在上述测试可以看到test-models使用的engine:5,创建的Model也是使用的engine:5进行编译,会默认的执行工程下的cdsw-build.sh脚本,自动安装依赖环境。
2.Model的每个Replica一次只能处理一个请求,多一个副本有助于负载均衡起到容错和服务并发请求作用,每个Model最多设置9个Replica。
提示:代码块部分可以左右滑动查看噢
为天地立心,为生民立命,为往圣继绝学,为万世开太平。
温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。