Tensorflow估计和数据并行

时间:2017-06-27 00:17:24

标签: parameters tensorflow server distributed worker

我很难理解如何使用分布式tensorflow进行估算(tensorflow / contrib / learn / python / learn / estimators / estimator.py)。

我的非分布式实施版基于learn_runner,experiment和estimator(github.com/google/seq2seq)。这就是为什么我尝试使用ClusterConfig和TF_CONFIG而不是使用在Tensorflow的官方教程中使用的ClusterSpec的原因。

我在调用run_config.RunConfig(...)之前添加了以下代码:

ps_hosts = FLAGS.ps_hosts.split(",")
worker_hosts = FLAGS.worker_hosts.split(",")
cluster = {"ps": ps_hosts, "worker": worker_hosts}
os.environ['TF_CONFIG'] = json.dumps({
    'cluster': cluster,
    'task': {
        'type': FLAGS.job_name,
        'index': FLAGS.task_index
    }
})

我的问题是关于参数服务器。 我注意到我使用作业名称" ps"启动的过程也表现为工作人员并进行培训。我查看了代码(estimator.pydevice_setter.py),似乎估算器的实现实际上允许参数服务器成为另一个工作者。

是真的如此,还是我错过了什么?

还有一个问题是,我尝试使用SyncReplicasOptimizer进行同步分布式学习,由于实验+估算器包装器,因此很难遵循Tensorflow。有没有人对此有更好的想法?

我非常感谢你的帮助。

0 个答案:

没有答案