机器学习与数据挖掘深度学习

机器学习 | TensorFlow模型如何与线上工程交互

2018-06-15  本文已影响33人  AxsPlayer
策略与工程共生关系

问题背景:当数据科学从业者在线下通过TensorFlow/Keras将神经网络模型训练出来之后,因为线上使用Java进行工程实现而与模型无法良好对接,导致形成了工程和策略之间的gap。
本文主要探讨尝试了几种可能的解决方案以及相对应的结果和优缺点。


结论优先

  • Java分布式方案:笔者尝试的方式中,暂时没有能有效对接TensorFlow/Keras模型和线上分布式Java Based Spark(下文中均用JBS替代)的交互模式。(如有可行方式,欢迎在留言中探讨)
  • Python/Java分布式方案:JBS处理的中间数据通过HDFS和Pyspark/Java对接处理,通过TensorflowOnSpark/Java Tensorflow将Tensorflow模型分布式部署到集群节点中进行工程化预测。
  • Java单节点方案:JBS处理的中间数据通过在单节点GPU上,通过Java Based Tensorflow对数据进行处理之后返回JBS分布式处理。
  • Java分布式(手动)方案:将Java Based Tensorflow手动部署到集群节点,JBS通过调用集群节点程序方式通过模型预测实现分布式。

Java分布式方案尝试经验


1. 采用PMML文件对接策略模型和线上工程:
2. Deeplearning4J方式转换模型应用:
3. Java Based Tensorflow方式应用模型:

各方案优缺点:



参考文献:
上一篇 下一篇

猜你喜欢

热点阅读