私はTensorflowで分散seq2seqモデルを開始しようとしています。これは元の単一プロセスseq2seqモデルです。 テンソルフロー分散チュートリアルhereに従ってクラスタ(1ps、3人)を設定しました。テンソルフローは永久にseq2seqを分散
しかし、すべての労働者が永遠に立ち往生している、と出力同じプーリングログ情報:
ps_hosts = ["9.91.9.129:2222"]
worker_hosts = ["9.91.9.130:2223", "9.91.9.130:2224", "9.91.9.130:2225"]
#worker_hosts = ["9.91.9.130:2223"]
cluster = tf.train.ClusterSpec({"ps":ps_hosts, "worker":worker_hosts})
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":
# Worker server
is_chief = (FLAGS.task_index == 0)
gpu_num = FLAGS.task_index
with tf.Graph().as_default():
with tf.device(tf.train.replica_device_setter(cluster=cluster,
worker_device="/job:worker/task:%d/gpu:%d" % (FLAGS.task_index, gpu_num))):
そして、私が使用:これは、translate.pyのクラスタの設定です
start running session
I tensorflow/core/common_runtime/gpu/pool_allocator.cc:244] PoolAllocator: After 7623 get requests, put_count=3649 evicted_count=1000 eviction_rate=0.274048 and unsatisfied allocation rate=0.665617
I tensorflow/core/common_runtime/gpu/pool_allocator.cc:256] Raising pool_size_limit_ from 100 to 110
tf.train.SyncReplicasOptimizer SyncTrainingを実装します。
これは私のseq2seq_model.pyの一部です:Tensorflowの人々が正しくの経験を共有し、まだ準備ができていないように思えこれは私の完全なPythonのコードは[こちら]