IOT Edge最大的一个优点和特性就是能够把用户的业务逻辑,预处理,机器学习,人工智能等模块部署在边界设备上,部署的方式就是容器方式,在IOT edge上被称为一个模块。 python
在咱们的模拟终端设备上使用docker ps查看,也能够看到有3个容器在运行: git
也能够查看正在发送的数据: github
配置IOT Hub的链接字符串,链接串能够经过登录Azure的portal,点击共享访问策略获得,链接成功后,,单击右键,选择"Start monitoring D2C messages",能够看到当前IOT Edge设备只是收集和直接发送数据,并没有任何处理: docker
Azure新一代机器学习服务,提供了一个强大的端到端的全生命周期的机器学习系统,从数据的处理,模型的训练,模型的管理,模型的发布都提供了完善的支持。经过Azure ML训练的模型,不管是机器学习模型,图像识别,语音识别等等,同样能够快速的发布在IOT Edge,经过这样的方式,真正将人工智能带到边界设备。 json
接下来咱们介绍如何将机器学习模型部署到模拟的边界设备上,针对当前设备状况作最基本的诊断: 机器学习
https://github.com/Azure/ai-toolkit-iot-edge ide
克隆该repo,而且进入目录IoT Edge anomaly detection tutorial目录,该目录下有两个文件,iot_score.py用来接受输入的参数,model.pkl是机器学习模型用来对异常进行检测。 学习
pip install -r https://aka.ms/az-ml-o16n-cli-requirements-file 测试
az ml account experimentation create -n mymldemo -g myaksdemo -l eastus2 ui
az provider register -n Microsoft.MachineLearningCompute
az provider register -n Microsoft.ContainerRegistry
az provider register -n Microsoft.ContainerService
az ml env setup -l eastus2 -n mymlenv -g myaksdemo
az ml env set -n mymlenv -g myaksdemo
az ml account modelmanagement create -l eastus2 -n mymldemo -g myaksdemo --sku-instances 1 --sku-name S1
az ml service create realtime --model-file model.pkl -f iot_score.py -n machinelearningmodule -r python
az acr list -o table
az acr credential show --name mlcrpacreb1907133456
iotedgectl login --address mlcrpacreb1907133456.azurecr.io --username mlcrpacreb1907133456 --password jtTVyKwDQ=blPFuwDEBbkWXVyZFwvOqi
{
"routes": {
"sensorToMachineLearning":"FROM /messages/modules/tempSensor/outputs/temperatureOutput INTO BrokeredEndpoint(\"/modules/abnormalmlmodule/inputs/amlInput\")",
"machineLearningToIoTHub": "FROM /messages/modules/abnormalmlmodule/outputs/amlOutput INTO $upstream"
}
}
第一句路由是将以前传感器处理的数据收集,但数据的处理对象是机器学习,第二句是数据通过机器学习模块处理以后,而后再发送回IOT Hub,其实智能的处理已经发生在边界,数据传回以前。添加完成后,点击提交,须要一点时间容器被部署到边界,状态变成running:
从这个例子咱们能够看到,微软的IOT Edge结合了Azure新一代的机器学习服务,固然你能够写本身的逻辑和代码,将机器学习模型经过容器的image发布,而后经过设备管理发送到边界,在物联网的边界设备上实现了人工智能服务,这种技术能够普遍的运用于多种不一样的场景,例如车联网,石油勘探,面部检测,终端图像识别等等,为将AI带到任何地方设置了清晰的技术路线。