TensorFlow - obliczenia rozproszone
W tym rozdziale skupimy się na tym, jak rozpocząć korzystanie z rozproszonego TensorFlow. Celem jest pomoc programistom w zrozumieniu podstawowych koncepcji rozproszonych TF, które się powtarzają, takich jak serwery TF. Użyjemy notatnika Jupyter do oceny rozproszonego TensorFlow. Implementacja obliczeń rozproszonych z TensorFlow jest opisana poniżej -
Step 1 - Importuj niezbędne moduły wymagane do przetwarzania rozproszonego -
import tensorflow as tf
Step 2- Utwórz klaster TensorFlow z jednym węzłem. Niech ten węzeł będzie odpowiedzialny za zadanie, które ma nazwę „pracownik” i które będzie obsługiwać jedno podejście na hoście lokalnym: 2222.
cluster_spec = tf.train.ClusterSpec({'worker' : ['localhost:2222']})
server = tf.train.Server(cluster_spec)
server.target
Powyższe skrypty generują następujące dane wyjściowe -
'grpc://localhost:2222'
The server is currently running.
Step 3 - Konfigurację serwera z odpowiednią sesją można obliczyć wykonując następujące polecenie -
server.server_def
Powyższe polecenie generuje następujące dane wyjściowe -
cluster {
job {
name: "worker"
tasks {
value: "localhost:2222"
}
}
}
job_name: "worker"
protocol: "grpc"
Step 4- Uruchom sesję TensorFlow z silnikiem wykonawczym będącym serwerem. Użyj TensorFlow, aby utworzyć serwer lokalny i używaćlsof aby dowiedzieć się, gdzie znajduje się serwer.
sess = tf.Session(target = server.target)
server = tf.train.Server.create_local_server()
Step 5 - Wyświetl urządzenia dostępne w tej sesji i zamknij odpowiednią sesję.
devices = sess.list_devices()
for d in devices:
print(d.name)
sess.close()
Powyższe polecenie generuje następujące dane wyjściowe -
/job:worker/replica:0/task:0/device:CPU:0