大家好,今天给各位分享音乐网站源码分享的一些知识,其中也会对音乐网站 源码进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
问题导读
1.本项目包含哪些源码?
2.本文使用了哪些框架?
3.KSQLUDF如何实现?
文中链接查看,可点击:阅读原文
物联网+大数据+机器学习将会是以后的趋势,这里介绍一篇这方面的文章包含源码。
混合机器学习基础架构构建了一个场景,利用ApacheKafka作为可扩展的中枢神经系统。公共云用于极大规模地训练分析模型(例如,通过GoogleMLEngine在GoogleCloudPlatform(GCP)上使用TensorFlow和TPU,预测(即模型推断)在本地Kafka基础设施的执行(例如,利用KafkaStreams或KSQL进行流分析)。
本文重点介绍内部部署。创建了一个带有KSQLUDF的Github项目,用于传感器分析。它利用KSQL的新API功能,使用Java轻松构建UDF/UDAF函数,对传入事件进行连续流处理。
使用案例:ConnectedCars-使用深度学习的实时流分析
从连接设备(本例中的汽车传感器)连续处理数百万个事件:
为此构建了不同的分析模型。他们在公共云上接受TensorFlow,H2O和GoogleMLEngine的训练。模型创建不是此示例的重点。最终模型已经可以投入生产,可以部署用于实时预测。
模型服务可以通过模型server完成,也可以本地嵌入到流处理应用程序中。参阅RPC与流处理的权衡,以获得模型部署和….
演示:使用MQTT,Kafka和KSQL在Edge进行模型推理
Github项目:深度学习+KSQLUDF用于流式异常检测MQTT物联网传感器数据
(下载源码:
ksql-udf-deep-learning-mqtt-iot-master.zip(474.64KB,下载次数:0))
该项目的重点是通过MQTT将数据提取到Kafka并通过KSQL处理数据:
ConfluentMQTTProxy的一大优势是无需MQTTBroker即可实现物联网方案的简单性。可以通过MQTT代理将消息直接从MQTT设备转发到Kafka。这显着降低了工作量和成本。如果你“只是”想要在Kafka和MQTT设备之间进行通信,这是一个完美的解决方案。
如果你想看到另一部分(与Elasticsearch/Grafana等接收器应用程序集成),请查看Github项目“KSQLforstreamingIoTdata”。这实现了通过KafkaConnect和Elastic连接器与ElasticSearch和Grafana的集成。(源码下载:链接:https://pan.baidu.com/s/1FCFgAoF9v1ihp9fyqHeKag密码:67sz)
KSQLUDF-源代码
开发UDF非常容易。只需在UDF类中的一个Java方法中实现该函数:
[Bashshell]纯文本查看复制代码
?
1
@Udf(description=”applyanalyticmodeltosensorinput”)publicStringanomaly(Stringsensorinput){“YOURLOGIC”}
这里是所有代码:
[Java]纯文本查看复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
packagecom.github.megachucky.kafka.streams.machinelearning;
importjava.util.Arrays;
importhex.genmodel.GenModel;
importhex.genmodel.easy.EasyPredictModelWrapper;
importhex.genmodel.easy.RowData;
importhex.genmodel.easy.exception.PredictException;
importhex.genmodel.easy.prediction.AutoEncoderModelPrediction;
importio.confluent.ksql.function.udf.Udf;
importio.confluent.ksql.function.udf.UdfDescription;
@UdfDescription(name=”anomaly”,description=”anomalydetectionusingdeeplearning”)
publicclassAnomaly{
//ModelbuiltwithH2ORAPI:
//anomaly_model<-h2o.deeplearning(x=names(train_ecg),training_frame=
//train_ecg,activation=”Tanh”,autoencoder=TRUE,hidden=
//c(50,20,50),sparse=TRUE,l1=1e-4,epochs=100)
//NameofthegeneratedH2Omodel
privatestaticStringmodelClassName=”io.confluent.ksql.function.udf.ml”
+”.DeepLearning_model_R_1509973865970_1″;
@Udf(description=”applyanalyticmodeltosensorinput”)
publicStringanomaly(Stringsensorinput){
System.out.println(“Kai:DL-UDFstarting”);
GenModelrawModel;
try{
rawModel=(hex.genmodel.GenModel)Class.forName(modelClassName).newInstance();
EasyPredictModelWrappermodel=newEasyPredictModelWrapper(rawModel);
//Prepareinputsensordatatobeincorrectdataformatfortheautoencodermodel(double[]):
String[]inputStringArray=sensorinput.split(“#”);
double[]doubleValues=Arrays.stream(inputStringArray)
.mapToDouble(Double::parseDouble)
.toArray();
RowDatarow=newRowData();
intj=0;
for(StringcolName:rawModel.getNames()){
row.put(colName,doubleValues[j]);
j++;
}
AutoEncoderModelPredictionp=model.predictAutoEncoder(row);
//System.out.println(“original:”+java.util.Arrays.toString(p.original));
//System.out.println(“reconstructedrowData:”+p.reconstructedRowData);
//System.out.println(“reconstructed:”+java.util.Arrays.toString(p.reconstructed));
doublesum=0;
for(inti=0;i<p.original.length;i++){
sum+=(p.original[i]-p.reconstructed[i])*(p.original[i]-p.reconstructed[i]);
}
//CalculateMeanSquareError=>Highreconstructionerrormeansanomaly
doublemse=sum/p.original.length;
System.out.println(“MSE:”+mse);
StringmseString=””+mse;
return(mseString);
}catch(InstantiationException|IllegalAccessException|ClassNotFoundExceptione){
System.out.println(e.toString());
}catch(PredictExceptione){
System.out.println(e.toString());
}
returnnull;
}
}
如何使用ApacheKafka和MQTTProxy运行演示?
执行演示的所有步骤都在Github项目中描述。
你只需安装ConfluentPlatform,然后按照以下步骤部署UDF,创建MQTT事件并通过KSQLlevera处理它们….
这里使用Mosquitto生成MQTT消息。当然,也可以使用任何其他MQTT客户端。这是开放和标准化协议的巨大好处。
好了,关于音乐网站源码分享和音乐网站 源码的问题到这里结束啦,希望可以解决您的问题哈!
