【发布时间】:2020-08-09 12:12:48
【问题描述】:
问题
TensorFlow 数据集如何处理无法装入服务器内存的大数据?
Spark RDD 可以处理多节点的大数据。对于Tensorflow Transform: How to find the mean of a variable over the entire dataset 中的问题,答案是使用Tensorflow Transform,它使用Apache Beam,需要Spark 等分布式计算集群。
如果我们有大型数据集,比如 50GB 的 CSV 文件,那么您如何计算平均值或其他类似统计数据。
因此我认为 TensorFlow 需要一个多节点集群,但不清楚 TensorFlow 是否有自己的集群实现,或者重用现有技术。由于 TensorFlow 预处理,例如获取列的均值或标准需要 Apache Beam,我猜它也是基于 Apache Beam,但不确定。
谷歌论文Large-Scale Machine Learning on Heterogeneous Distributed Systems 显示多个工人。
本文TensorFlow: A new paradigm for large scale ML in distributed systems告诉系统组件。
在系统组件方面,TensorFlow 由 Master、Worker 和 Client 组成,用于分布式协调和执行。
这个 Github TensorFlow2-tutorial/05-distributed-training/ 告诉 TF_CONFIG 指定节点 IP/端口。
TF_CONFIG='{"cluster": {"worker": ["10.1.10.58:12345", "10.1.10.250:12345"]}, "task": {"index": 0, "type": "worker"}}' python worker.py
TensorFlow 示例 Github Distributed TensorFlow 有以下部分,但看不到节点设置详细信息。
创建一个 tf.train.ClusterSpec 来描述集群
因此显然有一种方法可以设置 TensorFlow 集群,我想它可以处理大型数据集加载到 TF 数据集。
但是,Install TensorFlow 2 只显示:
# Current stable release for CPU and GPU
pip install tensorflow
请参阅有关如何设置 TensorFlow 多节点集群的分步文档,以及解释如何在 TF 中处理大数据加载的详细信息(类似于 Spark RDD/DataFrame 解释和内部)的资源。
【问题讨论】:
标签: tensorflow