Dataproc、Dataprep 和 Tensorflow

Dataproc, Dataprep and Tensorflow

我正在尝试创建处理大数据集的 ML 模型。我的问题更多地与这些大数据集的预处理有关。从这个意义上说,我想知道使用 Dataprep、Dataproc 或 Tensorflow 进行预处理之间的区别是什么。

如有任何帮助,我们将不胜感激。

这是 3 种不同的东西,你不能真正比较它们。

Dataprep - data service for visually exploring, cleaning, and preparing structured and unstructured data for analysis

换句话说,如果您有大量训练数据并且想要清理、可视化等。google dataprep 使您能够轻松做到这一点。

Cloud Dataproc is a fast, easy-to-use, fully-managed cloud service for running Apache Spark and Apache Hadoop clusters in a simpler, more cost-efficient way.

在您问题的上下文中,清理数据并准备好将其输入 ML 算法后,您可以使用 Cloud Dataproc 将其分布到多个节点并更快地处理它。在某些机器学习算法中,磁盘读取速度可能是一个瓶颈,因此它可以大大改善您的机器学习算法 运行宁时间。

最后是 Tensorflow:

TensorFlow™ is an open source software library for numerical computation using data flow graphs. Nodes in the graph represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors) communicated between them.

所以在您的数据准备好处理之后;你可以使用 Tensorflow 来实现机器学习算法。 Tensorflow 是一个 python 库,因此相对容易上手。 Tensorflow 还支持 运行 你的算法在 GPU 而不是 CPU 上,并且(最近)也在 Google Cloud TPU(专门为机器学习制造的硬件,甚至比 GPU 性能更好)上。

在机器学习预处理的背景下,我想花时间详细回答这个问题。所以,请多多包涵!

Google提供四种不同的加工产品。由于预处理具有不同的方面并涵盖许多不同的 ML 先决条件,因此这些平台中的每一个都更适合特定的预处理领域。产品如下:

Google ML Engine/ Cloud AI:本产品基于Tensorflow。您可以 运行 在机器学习引擎上的 Tensorflow 中编写机器学习代码。对于图像、文本或顺序等特定类型的数据,tf.keras.preprocessing 或 tf.contrib.learn.preprocessing 库可用于快速为 Tensorflow 制作适当的 input/tensor 数据格式。 您可能还需要在预处理步骤中通过 tf.Transform 转换数据。 tf.Transform,一个 TensorFlow 库,允许用户将预处理管道定义为 TensorFlow 图形的一部分。 tf.Transform 确保在预处理过程中不会出现偏差。

Cloud DataPrep: 预处理有时被定义为数据清理、数据清理、数据准备和数据更改。为此,Cloud DataPrep 是最佳选择。例如,如果您想去除可能导致 ML 模型出错的空值或某些 ASCII 字符,则可以使用 Cloud DataPrep。

Cloud DataFlow、Cloud Dataproc:特征提取、特征选择、缩放、降维也可以认为是ML预处理的一部分。由于 Cloud DataFlow 和 DataProc 都支持 Spark,因此可以使用 Spark 库对 ML 模型输入进行分布式快速预处理。 Apache Spark MLlib 也可以应用于许多 ML preprocessing/processing。请注意,由于 Cloud DataFlow 支持 Apache Beam,因此它更适合流处理,而 Cloud DataProc 更 Hadoop-based 并且更适合批处理预处理。详情请参考Using Apache Spark with TensorFlow document