У мене є план використовувати розподілений TensorFlow, і я побачив, що TensorFlow може використовувати GPU для навчання та тестування. У кластерному середовищі кожна машина може мати 0 або 1 або більше графічних процесорів, і я хочу запустити свій графік TensorFlow в GPU на якомога більше машин.
Я виявив, що під час запуску tf.Session()
TensorFlow надає інформацію про GPU в повідомленнях журналу, як показано нижче:
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)
Моє запитання - як я можу отримати інформацію про поточний доступний графічний процесор від TensorFlow? Я можу завантажити інформацію про графічний процесор із журналу, але хочу це зробити більш складним, програмним способом. Я також міг би навмисно обмежувати GPU, використовуючи змінну середовища CUDA_VISIBLE_DEVICES, тому я не хочу знати спосіб отримання інформації про GPU з ядра ОС.
Коротше кажучи, я хочу, щоб така функція tf.get_available_gpus()
поверталася, ['/gpu:0', '/gpu:1']
якщо в машині є два GPU. Як я можу це здійснити?