使用DJL和Apache NiFi的实时流式深度学习管道 福州网站建设

使用DJL和Apache NiFi的实时流式深度学习管道 福州网站建设

时间:2020-10-4 作者:gykj

有时,您希望使用Java进行深度学习,并且使用Java,因此让我们在CDP数据中心,私有云和便携式计算机部署中运行的自定义Apache NiFi处理器中使用DJL来实现。

让我们在两个处理器从同一新闻REST源获取数据的情况下运行此流程。

对于“情感”,我们将获得负输出和正输出的概率和百分比,以及原始分类结果(如果需要)。这些是NiFi属性,不会影响摄取的流文件数据。您可以在我的课程中更改此设置,如果需要,可以重新构建和重新部署。

要安装,请获取下面引用的预建NAR,并将其复制到NiFi节点的lib目录中,然后重新启动这些节点。对于其他NiFi运行时,例如Stateless和K8,则有所不同。

我强烈建议您增加NiFi RAM,默认情况下只有512MB?!?!?!

在您的企业Cloudera Flow Management Cloudera Manager控制台中:

使用DJL和Apache NiFi的实时流式深度学习管道 福州网站建设

在您的NiFi conf / bootstrap.conf中

爪哇

 


1个
 JVM 内存 设置
2
Java的arg2 = -Xms2048m
3
Java的arg3 = -Xmx2048m

让我们检查一下以确保重新启动后有该RAM。

使用DJL和Apache NiFi的实时流式深度学习管道 福州网站建设

示例运行

爪哇

 

1个
否定的
2
0.99
3

4
证明性的
5
99.44
6

7
肯定的
8
0.01
9

10
肯定性的
11
0.56
12

13
原始分类
14
[类别“负面”概率0.99440类别“正面”概率0.00559 ]

要在我们的REST调用的结果上使用Bert QA处理器 ,您需要输入一个段落以通过NiFi处理器中的段落参数进行分析。还输入一个问题,例如为什么?或诸如询问日期或事件之类的非常具体的内容。

您将得到如下结果:

  • 演示数据源(REST Feed) https://newsapi.org/v2/everything?q=cloudera&apiKey=REGISTERFORAKEY

建立自己的深度学习工作流程 福州小程序开发

您可以构建自己的NiFi处理器,只需下载或克隆下面列出的存储库之一,然后将Maven导入IntelliJ IDEA。然后,您可以运行JUnit测试并添加自己的模型,或者仅添加更多功能或更改。我建议您根据自己的数据集(也许是内部公司文档)来训练自己的自定义模型,以学习自己的词典。

参考:

  • 使用DJL.ai进行深度学习情绪分析
  • https://github.com/awslabs/djl/blob/master/mxnet/mxnet-engine/README.md
  • https://github.com/aws-samples/djl-demo/tree/master/flink/sentiment-analysis
  • https://github.com/awslabs/djl/releases
  • 使用DJL.ai进行深度学习情绪分析
  • https://github.com/awslabs/djl/blob/master/mxnet/mxnet-engine/README.md
  • https://github.com/aws-samples/djl-demo/tree/master/flink/sentiment-analysis
  • https://github.com/awslabs/djl/releases
  • https://www.datainmotion.dev/2020/09/using-djlai-for-deep-learning-based.html
  • http://docs.djl.ai/jupyter/BERTQA.html

抢来源:

https://github.com/tspannhw/nifi-djlsentimentanalysis-processor
https://github.com/tspannhw/nifi-djlqa-processor

抓住最新发行版NAR安装到您的NiFi lib目录:

https://github.com/tspannhw/nifi-djlsentimentanalysis-processor/releases/tag/1.2
https://github.com/tspannhw/nifi-djlqa-processor/releases/tag/1.2

深度学习注意事项:

预训练模型是HuggingFace使用PyTorch进行情感分析训练的DistilBERT模型。我们对BERT QA使用了预训练的Apache MXNet BERT QA模型。

小费

确保NiFi实例为运行每个DJL处理器留出 1-2 GB的额外内存。如果文本很多,请运行更多的节点和/或RAM。确保每个深度学习过程至少有8个核心。我更喜欢JDK 11。

另请参阅:   https //www.datainmotion.dev/2019/12/easy-deep-learning-in-apache-nifi-with.html

版权所有:https://www.eraycloud.com 转载请注明出处