在优锐课的java学习分享中,这篇文章探讨了构建ML基础结构的特定部分:在Kafka应用程序中部署分析模型以进行实时预测。
文章的第一部分在这啦,记得先看哦,不然看不懂哈,更有连贯性。
Apache Kafka应用程序中的机器学习和实时分析(第一部分)
嵌入式模型的流处理
除了使用模型服务器和RPC通信之外,你还可以将模型直接嵌入到Kafka应用程序中。 这可以是利用Kafka Streams或KSQL的Kafka本机流处理应用程序,也可以使用Java,Scala,Python或Go之类的Kafka客户端API。
在这种情况下,不依赖于外部模型服务器。 该模型已在应用程序中加载,例如使用Kafka Streams应用程序中的TensorFlow Java API:
同样,实现Kafka应用程序很简单。 以下是将TensorFlow模型嵌入到Kafka Streams应用程序中以进行实时预测的代码段:
1.导入Kafka和TensorFlow API:
Java
import org.apache.kafka.streams.KafkaStreams;
import org.apache.kafka.streams.KeyValue;
import org.apache.kafka.streams.StreamsBuilder;
import org.apache.kafka.streams.StreamsConfig;
import org.apache.kafka.streams.integration.utils.EmbeddedKafkaCluster;
import org.apache.kafka.streams.integration.utils.IntegrationTestUtils;
import org.apache.kafka.streams.kstream.KStream;
import org.deeplearning4j.nn.modelimport.keras.KerasModelImport;
import org.deeplearning4j.nn.multilayer.MultiLayerNetwork;
2.从数据存储区(例如,Amazon S3链接)或内存(例如,从Kafka主题接收)中加载TensorFlow模型:
Java
// Step 1: Load Keras TensorFlow Model using DeepLearning4J API
String simpleMlp = new ClassPathResource("generatedModels/K