Kafka +深度学习+ MQTT搭建可扩展的物联网平台【附源码】

问题导读

1.本项目包含哪些源码?
2.本文使用了哪些框架?
3.KSQL UDF如何实现?

640?wx_fmt=png

文中链接查看,可点击:阅读原文

物联网+大数据+机器学习将会是以后的趋势,这里介绍一篇这方面的文章包含源码。

混合机器学习基础架构构建了一个场景,利用Apache Kafka作为可扩展的中枢神经系统。 公共云用于极大规模地训练分析模型(例如,通过Google ML Engine在Google Cloud Platform(GCP)上使用TensorFlow和TPU,预测(即模型推断)在本地Kafka基础设施的执行( 例如,利用Kafka Streams或KSQL进行流分析)。

本文重点介绍内部部署。 创建了一个带有KSQL UDF的Github项目,用于传感器分析。 它利用KSQL的新API功能,使用Java轻松构建UDF / UDAF函数,对传入事件进行连续流处理。


使用案例:Connected Cars - 使用深度学习的实时流分析

从连接设备(本例中的汽车传感器)连续处理数百万个事件:
640?wx_fmt=png 

为此构建了不同的分析模型。 他们在公共云上接受TensorFlow,H2O和Google ML Engine的训练。 模型创建不是此示例的重点。 最终模型已经可以投入生产,可以部署用于实时预测。

模型服务可以通过模型server 完成,也可以本地嵌入到流处理应用程序中。 参阅RPC与流处理的权衡,以获得模型部署和....


演示:使用MQTT,Kafka和KSQL在Edge进行模型推理

Github项目:深度学习+KSQL UDF 用于流式异常检测MQTT物联网传感器数据
(下载源码: 
640?wx_fmt=gif ksql-udf-deep-learning-mqtt-iot-master.zip (474.64 KB, 下载次数: 0) 
该项目的重点是通过MQTT将数据提取到Kafka并通过KSQL处理数据:

640?wx_fmt=png 

Confluent MQTT Proxy的一大优势是无需MQTT Broker即可实现物联网方案的简单性。 可以通过MQTT代理将消息直接从MQTT设备转发到Kafka。 这显着降低了工作量和成本。 如果你“只是”想要在Kafka和MQTT设备之间进行通信,这是一个完美的解决方案。

如果你想看到另一部分(与Elasticsearch / Grafana等接收器应用程序集成),请查看Github项目“KSQL for streaming IoT data”。 这实现了通过Kafka Connect和Elastic连接器与ElasticSearch和Grafana的集成。(源码下载:链接: https://pan.baidu.com/s/1FCFgAoF9v1ihp9fyqHeKag 密码: 67sz)

KSQL UDF - 源代码

开发UDF非常容易。 只需在UDF类中的一个Java方法中实现该函数:
   

[Bash shell] 纯文本查看 复制代码

?

1
@Udf(description = "apply analytic model to sensor input" )             public String anomaly(String sensorinput){ "YOUR LOGIC" }

        
这里是所有代码:

[Java] 纯文本查看 复制代码

?

01
02
03
04
05
06
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,没有直接回答"kafka+深度学习"的问题。但是,我可以为您提供一些相关信息。 Kafka是一个分布式流处理平台,可以用于构建实时数据管道和流式应用程序。而深度学习则是一种机器学习技术,可以用于处理大规模的数据集,例如图像、语音和自然语言处理等领域。 在实际应用中,可以使用Kafka作为数据管道,将数据从生产者发送到消费者,然后使用深度学习技术对数据进行处理和分析。例如,可以使用Kafka接收来自传感器的数据,并使用深度学习技术对数据进行分类和预测。 具体来说,可以使用Kafka的Producer API将数据发送到Kafka集群中的Topic中,然后使用Consumer API从Topic中读取数据。然后,可以使用Python中的深度学习框架(如TensorFlow或PyTorch)对数据进行处理和分析。 下面是一个简单的示例,演示如何使用Kafka和TensorFlow进行图像分类: 1.使用Kafka Producer API将图像数据发送到Kafka Topic中: ```python from kafka import KafkaProducer import base64 producer = KafkaProducer(bootstrap_servers=['localhost:9092']) # 读取图像文件 with open("image.jpg", "rb") as image_file: encoded_string = base64.b64encode(image_file.read()) # 将图像数据发送到Kafka Topic中 producer.send('image_topic', encoded_string) ``` 2.使用Kafka Consumer API从Topic中读取图像数据,并使用TensorFlow进行分类: ```python from kafka import KafkaConsumer import base64 import tensorflow as tf consumer = KafkaConsumer('image_topic', bootstrap_servers=['localhost:9092']) # 加载模型 model = tf.keras.models.load_model('model.h5') # 从Kafka Topic中读取图像数据 for message in consumer: encoded_string = message.value decoded_string = base64.b64decode(encoded_string) # 对图像进行分类 image = tf.image.decode_jpeg(decoded_string, channels=3) image = tf.image.resize(image, [224, 224]) image = tf.keras.applications.mobilenet_v2.preprocess_input(image) prediction = model.predict(tf.expand_dims(image, 0)) print(prediction) ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值