gpt4 book ai didi

java - 为什么H2O通过Spark而不是直接集成TensorFlow?

转载 作者:行者123 更新时间:2023-12-02 12:56:11 25 4
gpt4 key购买 nike

我真的很喜欢 H2O,特别是因为您可以轻松地将构建的模型部署到任何 Java/JVM 应用程序中...这也是我对 TensorFlow 的目标:构建模型,然后在 Java 应用程序中运行它们。

H2O 在使用 TensorFlow 时,通过在分布式 Spark 节点上运行 TensorFlow,“在中间”使用 Spark(Sparking Water)。我在 H2O demo video 中学到了这一点(希望是正确的) .

为什么不直接将 TensorFlow(以及 MXNet 等其他组件)与 H2O 集成,而是通过 Apache Spark?

像 TensorFlow 这样的框架本身允许 distributed training ,那么为什么要“在中间”使用 Spark呢?这不是会增加很多复杂性吗(并且在很多情况下不需要它)?

例如,Google 构建了 Scikit Flow (Scikit-learn + TensorFlow)允许轻松使用 TensorFlow 来构建模型。

特别是对于较小的数据集和/或更简单的用例,这似乎是在中间使用 Spark 更简单的选择?如果我理解正确的话,你也可以在 Java 中使用这个模型,然后通过 TensorFlow4Java .

我希望在未来的项目和场景中更多地利用 H2O(就像过去一样,请参见此处的 I applied a H2O model to real time applications using Apache Kafka and its Streams API )。不过,我不确定为什么我需要 Spark 的“开销”来使用 H2O 和 TensorFlow 构建模型(尤其是对于较小的数据集和/或“小型神经网络”可能会更好的简单场景)够了吗?

最佳答案

这是一个旧教程,是在分布式 Tensorflow 发布之前制作的。当时这是最简单的“集成”/“分布”方法(只需在每个工作节点上运行 TF,然后在驱动节点上对系数进行平均)。

从那时起,我们发布了project DeepWater它将多个深度学习框架(TF、MXNet、Caffee)与 H2O 集成。这个不需要 Spark,您所需要做的就是(如果您运行的是 Linux 机器)下载 H2O from here (H2O with GPU-Enabled Machine Learning)并运行它。如果您运行的是 MacOS 或 Windows,则必须自己构建 DeepWater 和 H2O,因为我们尚未提供这些服务。

作为免责声明:deepwater 目前仅在单个节点上运行,因为上述框架都没有用于分发的 Java API(例如 TF 仅具有用于分发的 Python API)。我正在开发一个分布式版本,但目前它并不是真正的第一要务。

关于java - 为什么H2O通过Spark而不是直接集成TensorFlow?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44434050/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com