gpt4 book ai didi

python - 具有内存数据的分布式 TensorFlow

转载 作者:太空狗 更新时间:2023-10-30 00:18:31 25 4
gpt4 key购买 nike

我需要随机生成内存中的合成数据(以 pandas DataFrame 的形式),以提供给分布在多个参数服务器和工作器上的 TensorFlow Estimator。我怎样才能做到这一点?哪个服务器应该负责生成数据,我如何将它们传递给其他服务器?按照这些思路行事吗?

def main(_):
ps_hosts = FLAGS.ps_hosts.split(",")
worker_hosts = FLAGS.worker_hosts.split(",")
#Create a cluster from the parameter server and worker hosts.
cluster = tf.train.ClusterSpec({"ps": ps_hosts, "worker": worker_hosts})
#Create and start a server for the local task.
server = tf.train.Server(cluster, job_name=FLAGS.job_name, task_index=FLAGS.task_index)

if FLAGS.job_name == "ps":
server.join()
elif FLAGS.job_name == "worker":
if FLAGS.task_index==0:
train_data, train_labels = generate_synthetic_data()
eval_data, eval_labels = generate_synthetic_data()
test_data, test_labels = generate_synthetic_data()

with tf.device(tf.train.replica_device_setter( worker_device="/job:worker/task:%d" % FLAGS.task_index, cluster=cluster)):

# Run training
train_and_evaluate()

if __name__ == "__main__":
tf.app.run(main=main, argv=[sys.argv[0]])

或者,类似地,这里 https://www.tensorflow.org/tutorials/estimators/linear#overview他们创建了两个 pandas 数据帧,然后将其提供给 Estimator。该代码将如何并行化?

最佳答案

TF Estimators 目前无法轻松支持单个共享输入管道。相反,每个工作人员都有自己独立的输入管道,以最大限度地提高吞吐量。

因此在每个 worker 中生成一个单独的合成数据框。

关于python - 具有内存数据的分布式 TensorFlow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51952666/

25 4 0
文章推荐: python - 加载 numpy 时本地脚本与内置模块冲突
文章推荐: c# - 来自 Func<> 的异常未被捕获(异步)
文章推荐: c# - Cast List 和 Cast IEnumerable 有什么区别