TensorFlow-分散コンピューティング

この章では、分散TensorFlowの使用を開始する方法に焦点を当てます。目的は、開発者がTFサーバーなどの繰り返し発生する基本的な分散TFの概念を理解できるようにすることです。分散TensorFlowの評価にはJupyterNotebookを使用します。TensorFlowを使用した分散コンピューティングの実装について以下に説明します-

Step 1 −分散コンピューティングに必須の必要なモジュールをインポートします−

import tensorflow as tf

Step 2−1つのノードでTensorFlowクラスターを作成します。このノードに、「worker」という名前のジョブを担当させ、localhost:2222で1つのテイクを操作します。

cluster_spec = tf.train.ClusterSpec({'worker' : ['localhost:2222']})
server = tf.train.Server(cluster_spec)
server.target

上記のスクリプトは次の出力を生成します-

'grpc://localhost:2222'
The server is currently running.

Step 3 −それぞれのセッションでのサーバー構成は、次のコマンドを実行することで計算できます。

server.server_def

上記のコマンドは次の出力を生成します-

cluster {
   job {
      name: "worker"
      tasks {
         value: "localhost:2222"
      }
   }
}
job_name: "worker"
protocol: "grpc"

Step 4−実行エンジンをサーバーとしてTensorFlowセッションを起動します。TensorFlowを使用してローカルサーバーを作成し、lsof サーバーの場所を見つけるため。

sess = tf.Session(target = server.target)
server = tf.train.Server.create_local_server()

Step 5 −このセッションで使用可能なデバイスを表示し、それぞれのセッションを閉じます。

devices = sess.list_devices()
for d in devices:
   print(d.name)
sess.close()

上記のコマンドは次の出力を生成します-

/job:worker/replica:0/task:0/device:CPU:0