TensorFlow - คอมพิวเตอร์แบบกระจาย

บทนี้จะเน้นเกี่ยวกับวิธีเริ่มต้นใช้งาน TensorFlow แบบกระจาย จุดมุ่งหมายคือเพื่อช่วยให้นักพัฒนาเข้าใจแนวคิดพื้นฐานของ TF แบบกระจายที่เกิดขึ้นอีกครั้งเช่นเซิร์ฟเวอร์ TF เราจะใช้ Jupyter Notebook สำหรับประเมิน TensorFlow แบบกระจาย การใช้งานคอมพิวเตอร์แบบกระจายกับ TensorFlow มีดังต่อไปนี้ -

Step 1 - นำเข้าโมดูลที่จำเป็นซึ่งจำเป็นสำหรับการประมวลผลแบบกระจาย -

import tensorflow as tf

Step 2- สร้างคลัสเตอร์ TensorFlow ด้วยโหนดเดียว ให้โหนดนี้รับผิดชอบงานที่มีชื่อ "คนงาน" และจะดำเนินการหนึ่งครั้งที่ localhost: 2222

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