【问题标题】:Azure Streaming Analytics not receiving input from ML module on IoT EdgeAzure 流分析未从 IoT Edge 上的 ML 模块接收输入
【发布时间】:2018-02-15 00:20:14
【问题描述】:

我遇到了一个奇怪的问题,即当机器学习模块被推送到 IoT Edge 设备时,该模块的输出无法被云中的 ASA 使用。例如即使正在发送消息(使用 VS Code 等检查),ASA 输入示例也不返回任何内容。我用过这个教程:https://docs.microsoft.com/en-us/azure/iot-edge/tutorial-deploy-machine-learning

当使用温度传感器模拟器发送消息时,ASA 会正确采样并且可以被 ASA 使用。 https://docs.microsoft.com/en-us/azure/iot-edge/tutorial-simulate-device-linux

我能看到的唯一区别是 JSON 是如何形成的 - 我想知道“applicationProperties”部分是否会导致问题?

ML JSON 发送到 IoT 中心: 15/02/2018 2:42:14 PM> 设备:[DSVM],数据:[["{\"环境\":{\"湿度\":24,\"温度\":21.277752659180088},\" machine\": {\"pressure\": 10.860424874724545, \"temperature\": 107.55261834480434}, \"timeCreated\": \"2018-02-15T03:42:14.140615Z\", \"anomaly\": true }“]]特性: “AzureMLResponse”:“好的”

温度传感器 JSON 发送到 IoTHub: 15/02/2018 2:42:14 PM> 设备:[DSVM],数据:[{“机器”:{“温度”:107.55261834480434,“压力”:10.860424874724545},“环境”:{“温度”:21.277752659180088 ,"湿度":24},"timeCreated":"2018-02-15T03:42:14.140615Z"}]

有人对特定问题可能是什么有任何想法吗?你能轻松去掉 AzureMLResponse 的属性吗?

谢谢, 比较

【问题讨论】:

  • 能否请您显示Azure ML容器的日志?您可以查看容器日志中是否存在一些错误。
  • 请看下面的日志(看不到任何错误)。对于进一步的上下文,消息从机器学习模块中路由出来,到达 IoT 中心。我还可以将数据路由到 BLOB 存储中。 ASA 只是没有接收数据。我能看到的唯一区别是 JSON 与 AzureMLResponse 的结构不同。
  • {"request_id": "e4854ea2-acaf-4a5a-82a1-9f654bb9c83e", "timestamp": "2018-02-16T01:39:09.187904", "logger": "logger_stdout", " message": " 0 1 2 3\n0 22.987607 1.226436 21.335369 25"} 预测是 {"request_id": "e4854ea2-acaf-4a5a-82a1-9f654bb9c83e", "timestamp": "2018-02-16T01:39:09.1882" ,“记录器”:“logger_stdout”,“消息”:“预测是”} 0 {“request_id”:“e4854ea2-acaf-4a5a-82a1-9f654bb9c83e”,“时间戳”:“2018-02-16T01:39:09.188398 ", "logger": "logger_stdout", "message": "0"}
  • 我认为这是由于 iot_score.py 中使用的 azureml.api.schema.sampleDefinition 造成的。但我还没有找到有关它的源或详细结构信息。我正在尝试让熟悉的人参与这个问题要研究。如果有任何进展,我会告诉你的。
  • 谢谢迈克尔。非常感激。一直在进一步研究它,试图查看它是否是消息数据类型问题或类似问题 - 仍然没有运气。

标签: azure machine-learning iot azure-iot-hub


【解决方案1】:

我已经找到了这个特定问题的问题。

行: 返回 [json.dumps(input_json)]

对 json 字符串进行编码并将其返回给 IoT 中心。它自身的模块或 IoT 中心必须在输出时将消息自动编码为 json。转义字符等是双重编码的结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多