У меня есть доступ через ssh к кластеру из n графических процессоров. Tensorflow автоматически дал им имена gpu: 0, ..., gpu: (n-1).Tensorflow на общих графических процессорах: как автоматически выбрать тот, который не используется
У других есть доступ, и иногда они берут случайный gpus. Я не размещал никаких tf.device()
явно, потому что это громоздко и даже если я выбрал номер gpu j и что кто-то уже находится на номере gpu j, что было бы проблематично.
Я хотел бы перейти к использованию gpus и найти первое, что не используется, и использовать только этот. Я предполагаю, что кто-то может разобрать вывод nvidia-smi
с bash и получить переменную i и передать эту переменную i скрипту tensorflow в качестве количества используемых gpu.
Я никогда не видел ни одного примера этого. Я предполагаю, что это довольно распространенная проблема. Каким будет самый простой способ сделать это? Является ли чистый тензорный поток доступным?
Спасибо за этот блестящий ответ! – jean
Так что, по-видимому, 'nvidia-smi' может привести к несоответствующим номерам устройств в какой-то ситуации, похоже, вам нужно объединить его' lspci', чтобы получить правильные цифры, как описано в [152] (https://github.com/tensorflow/tensorflow/issues/152 # issuecomment-273555972) –
Я проверю это благодаря! Но пока ваше решение, похоже, отлично работает для меня! – jean