簡體   English   中英

分布式Tensorflow不適用於簡單示例

[英]Distributed Tensorflow not working with simple example

我在這里跟隨一個示例以在MNIST上學習分布式TF。 我將集群配置更改為:

parameter_servers = ["1.2.3.4:2222"]
workers = [ "1.2.3.4:2222", "5.6.7.8:2222"]

1.2.3.45.6.7.8只是我兩個節點的表示。 它們不是真實的IP地址。 整個腳本命名為example.py

1.2.3.4 ,我運行: python example.py --job_name=ps --task_index=0然后在同一台機器上,我在另一個終端中運行python example --job_name=worker --task_index=0 看起來它正在等待。

5,6,7,8 ,我運行了python example.py --job_name=worker --taks_index=1 之后,我立即在5.6.7.8上收到以下錯誤:

tensorflow.python.framework.errors.UnavailableError: {"created":"@1480458325.580095889","description":"EOF","file":"external/grpc/src/core/lib/iomgr/tcp_posix.c","file_line":235,"grpc_status":14}
I tensorflow/core/distributed_runtime/master_session.cc:845] DeregisterGraph error: Aborted: Graph handle is not found: . Possibly, this worker just restarted.

tensorflow/core/distributed_runtime/graph_mgr.cc:55] 'unit.device' Must be non NULL
Aborted (core dumped)

1.2.3.4

這是因為我在同一台機器上同時運行參數服務器和工作程序嗎? 我的節點數不超過2個,該如何解決?

因此,經過一天的努力,我終於得到了解決:

  1. 按照Yaroslav對參數服務器的建議進行操作,以確保工作線程不會耗盡GPU內存
  2. 參數服務器和worker無法在同一端口上運行(與原始帖子一樣),因此將workers = [ "1.2.3.4:2222", "5.6.7.8:2222"]更改為workers = [ "1.2.3.4:2223", "5.6.7.8:2222"] 注意端口號的變化。

這就是需要做的所有事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM