Tôi có một kế hoạch sử dụng TensorFlow phân tán và tôi thấy TensorFlow có thể sử dụng GPU để đào tạo và thử nghiệm. Trong môi trường cụm, mỗi máy có thể có 0 hoặc 1 GPU trở lên và tôi muốn chạy đồ thị TensorFlow của mình thành GPU trên càng nhiều máy càng tốt.
Tôi thấy rằng khi chạy tf.Session()
TensorFlow cung cấp thông tin về GPU trong các thông điệp tường trình như bên dưới:
I tensorflow/core/common_runtime/gpu/gpu_init.cc:126] DMA: 0
I tensorflow/core/common_runtime/gpu/gpu_init.cc:136] 0: Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:838] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 1080, pci bus id: 0000:01:00.0)
Câu hỏi của tôi là làm thế nào để tôi có được thông tin về GPU hiện có từ TensorFlow? Tôi có thể tải thông tin GPU từ nhật ký, nhưng tôi muốn thực hiện theo cách lập trình, tinh vi hơn. Tôi cũng có thể hạn chế GPU cố ý sử dụng biến môi trường CUDA_VISIBLE_DEVICE, vì vậy tôi không muốn biết cách lấy thông tin GPU từ nhân hệ điều hành.
Nói tóm lại, tôi muốn một chức năng như thế tf.get_available_gpus()
sẽ trở lại ['/gpu:0', '/gpu:1']
nếu có hai GPU có sẵn trong máy. Làm thế nào tôi có thể thực hiện điều này?