WISE-PaaS 数据分析框架服务提供简易的拖拉接口让开发者将分析模块组装成解决方案。整合多种机器学习函式库,如:Spark Mllib、Tensorflow,可轻松调用后端分布式计算资源降低开发门坎。
WISE-PaaS 的数据分析框架服务主要功能包括:
- 分析模块/解决方案管理,提供分析模块/解决方案完整生命周期之管理,包含订阅、验证、发布等。
- 解决方案在线开发,提供拖拉式接口以组装多个分析模块进行解决方案的开发。
- 分析模块在线开发,提供在线IDE进行分析模块的开发并布署至云端平台。
- 开放各算法及高速运算模式,提供多种分析所需的算法与运算模式。
如何使用数据分析框架服务
用户可透过下列步骤使用数据分析框架服务:
- 购买订阅方案,开通数据分析框架服务。
- 从链接开启数据分析框架服务。
- 数据分析框架服务使用操作。
步骤一:购买订阅方案,开通数据分析框架服务
开通数据分析框架服务前首先确定您拥有下列信息:
- 已购买订阅方案。
- Technical portal或是Management Portal的登入网址。
- 您的账号拥有登入Management Portal的权限。
若您是第一次使用,请先登入Management Portal建立数据分析框架服务的Service instance,若非第一次使用可略过此步骤。
建立数据分析框架服务的Service instance步骤简述如下:
- 登入Management Portal之后选择您的space。
- 点选Service Instance List页签。
- 新增Service Instance,在Service Type中选择名AFS的服务后按OK。
- 在Service Instance List中出现的文字框中填入您为服务取的任意名称,输入完毕后点选打勾确认。
- 在Service Instance List中出现您建立的数据分析框架服务表示您已开通完毕。
步骤二:从链接开启数据分析框架服务
当服务部署完成后,可以透过链接,快速登入数据分析框架服务。
- 确认您的App在WISE-PaaS上正常执行,如何将App发布至WISE-PaaS可以参考App management。
- 登入Management Portal之后选择您App所在的space。
- 点选Service Instance List页签。
- 在Service Instance List中点选您在开通步骤所建立的数据分析框架服务,点选服务名称,则会开启数据分析框架服务接口。
步骤三:数据分析框架服务使用操作
当您登入至数据分析框架服务后,即可操作上面所提供的功能,包含:开发人员工作区(Workspaces)、分析模块列表(Catalog)、模型排成任务与绩效管理(Tasks & Models)。
开发人员工作区(Workspaces)
开发人员工作区可以提供开发人员建立自己的分析模块,并封装成解决方案, 建立分析模块的步骤简述如下:
1.点选CREATE按钮。
2.输入您自行定义的分析模块名称,并按下 NEXT 按钮确认。
3.在workspace中会出现您建立的开发编辑页面,代表开通完毕,此时可以透过 Python 程序语言开始撰写分析模块。
4.程序代码填写完后,点选UPLOAD按钮,可以将分析训练模型程序以APP形式推上平台,此APP部署完成则会出现在Workspace清单中。
分析模块列表(Catalog)
当APP部署完成则会出现在Workspace清单中,可以透过 publish 将此APP发布,让其他使用者可以订阅此分析方案,并自动化以部署。
1.将 workspace 中的已经部署至平台的APP,点选 publish 按钮,系统会自动将此APP加入Service list 中,让其他使用者可以进行订阅。
绩效管理(Models)
执行完训练APP后,可以进去AFS Models,选取模型的Repository, 读取训练结果的绩效值,操作步骤简述如下:
1.点选Models按钮后,选取训练完成的APP。
2.可查询最近训练的时间与其绩效值。
案例ㄧ:机台温度预兆诊断范例
本案例实作情境描述
问题描述:空气压缩机不定期发生热跳脱,发生后业务单位须启用备用机台,使得产线须停滞15-20分钟。 传感器采集数据属性:共9个字段,每五秒量测一次,量测后送至平台保存与建模。 目标:以机器学习为手段,以上述9个字段作为预测数据,在感测数据采集以后,推理1分钟内机台温度的变化趋势。 解决方案:提供设备预兆诊断方案,针对旧式机台提供纯云架构式(中央管理面板、一人监控多台)、新式机台提供云雾协作式(无人工厂概念,发生异常直接回馈进行调整)。
此案例分为下列三个阶段
1. 数据收集与模型训练阶段。 2. 数据分析框架服务使用操作。 3. 推理可视化阶段。
阶段一:数据收集与模型训练阶段
使用SmartBox端实作一个Firehose,预计每五秒送出一笔数据并保存于WISE-PaaS上的InfluxDB服务之中,再使用AFS Online Code IDE进行Python开发模型并评估绩效,开发完成的程序将直接上传转换为平台上可以被运行的虚拟容器。
Step 1. 利用Management Portal 订阅相关服务
1.订阅平台中influxdb服务,并定义名称。
2.取得连接信息的服务,并复制相关连接信息(如:UserName、port等)。
3.订阅平台中AFS服务,并定义服务的名称,部署完成后将AFS页面开启。
Step 2. 安装 Firehose
此步骤主要实作资料仿真,每五秒送出一笔数据并保存于WISE-PaaS上的InfluxDB服务之中
实作情境描述 模拟 SCADA SDK的行为,读取 training_data.txt 并每秒 insert 至 influxDB。 读取 testing_data.txt 并每十秒送一个 request 至 inference engine 做推理。 将预测的结果存放至 predict_result.txt 中。 数据格式:
前置安装
Python 3.6: https://docs.python.org/3/using/windows.html Git Client for Windows: https://git-scm.com/download/win Git Client for MAC: pre-installed Git Client for Linux: pre-installed *pip:https://pip.pypa.io/en/stable/installing/#do-i-need-to-install-pip
1.安装 Firehose
开启终端机,输入下列两行指令。
代码语言:javascript复制$ git clone http://advgitlab.eastasia.cloudapp.azure.com/EI-PaaS-SampleCode/analytics_framework_service.git$ pip install requests pandas influxdb numpy configparser
2.执行 Firehose,将训练数据送至 influxDB,开启终端机,输入下列指令。
代码语言:javascript复制$ python to_influixdb.py
3.执行 Firehose,将测试数据送至 inference engine 做预测,开启终端机,输入下列指令。
代码语言:javascript复制$ python to_inference_engine.py
Step 3. 使用 AFS Online Code IDE 开发 RNN 类神经网络
此步骤主要实作资料仿真,每五秒送出一笔数据并保存于WISE-PaaS上的InfluxDB服务之中。
实作情境描述 RNN 是用于处理时间序列数据,原理是将神经元的输出在接回神经元的输入,此设计使神经网络有记忆的功能。 藉由温度时间序列增长的特性,利用 RNN 能够预测温度未来的趋势。
1.使用 AFS 开发 RNN 类神经网络,建立分析模块。
2.开启 Online Code IDE 后,于每个 Cell 输入程序代码。
3.将程序代码填完后,将训练模型 APP 推上平台。
阶段二:排程训练与绩效评估阶段
在AFS Task中建立一个排程训练任务,周期到了即会触发阶段一所产生的虚拟容器建立模型,此时模型所训练的数据可以设定为数据库中最新的数百笔,并且透过AFS SDK,将排程训练结果保存于AFS Models之中。
Step 1. AFS SDK 使用与实作
此步骤主要将阶段一的训练完成的模型上传至AFS平台,后续可以将测试数据持续置入此模型,预测结果。
1.开启阶段一的Online Code IDE 后,于最后一个 Cell 输入下列程序代码。
2.确认模型是否上传成功。
阶段三:推理可视化阶段
营运人员预期采用仪表板监控设备状态,因此将透过Grafana选择数据区间后,向Inference APP取得该时段的实时数据与预测结果,并且进行可视化。而上述预测结果的产生,Inference APP将会分别至InfluxDB取得实时数据,与AFS Models取得模型,进行推理后产生。
Step 1. 推理API 实作
实作情境描述
取出influxDB最近20分钟的数据。 从AFS下载最新的模型。 推理未来1分钟的温度。 将此次推理的RSME及模型版本的时间记录于influxDB。 * 回传给Grafana真实数据值及预测值。
1.推理API程序代码,下载位置。
2.config 修改,针对个人平台上的信息做修改。
3.将推理API上架至平台部署,开启终端机,输入下列两行指令。
代码语言:javascript复制$ cf login –a api.wise-paas.com –u [username] –p [password]$ cf push
Step 2. Grafana 仪表板制作
1.新增Data source。
2.设定Data source-influxDB。
3.设定Data source-simpleJson。
4.汇入Dashboard。
5.设定Measurement – Panel mapping DataSource。
6.设定Measurement – Last Model Updated Time。
7.设定Measurement – Current RMSE。
8.设定Measurement – RMSE Trend。
相关参考
- 大数据||使用AI算法大幅缩短电子产品测试周期
- 大数据||使用AI算法进行水循环系统故障精准预测
- 大数据||使用AI算法进行滚动轴承故障精准预测
- 工业互联网热点技术应用与快速入门资料打包汇总!
- 研华测试与测量解决方案2018Q4-振动监测与机器学习篇
- 研华测试与测量解决方案2018Q4-应用案例篇
- 研华测试与测量解决方案2018Q4-产品技术篇
- IOT峰会||设备监诊与预知保养