Dağıtılmış TensorFlow'u kullanma planım var ve TensorFlow'un eğitim ve test için GPU'ları kullanabileceğini gördüm. Bir küme ortamında, her makinede 0 veya 1 veya daha fazla GPU olabilir ve TensorFlow grafiğimi olabildiğince çok makinede GPU'lara çalıştırmak istiyorum.
tf.Session()
TensorFlow çalıştırırken aşağıdaki gibi günlük iletilerinde GPU hakkında bilgi verdiğini buldum :
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)
Benim sorum şu anki mevcut GPU hakkında TensorFlow'dan nasıl bilgi alabilirim? Yüklü GPU bilgilerini günlükten alabilirim, ancak daha sofistike, programlı bir şekilde yapmak istiyorum. Ayrıca CUDA_VISIBLE_DEVICES ortam değişkenini kullanarak GPU'ları kasıtlı olarak kısıtlayabilirim, bu yüzden OS çekirdeğinden GPU bilgisi almanın bir yolunu bilmek istemiyorum.
Kısacası, makinede iki GPU varsa tf.get_available_gpus()
, böyle bir fonksiyonun geri dönmesini istiyorum ['/gpu:0', '/gpu:1']
. Bunu nasıl uygulayabilirim?