Tensorflow em GPUs compartilhadas: como selecionar automaticamente a que não está sendo usada

Eu tenho acesso através do ssh a um cluster de n GPUs. O fluxo de tensão automaticamente deu a eles nomes gpu: 0, ..., gpu: (n-1).

Outros também têm acesso e, às vezes, usam gpus aleatórios. Não coloquei nenhumtf.device() explicitamente porque isso é complicado e mesmo que eu tenha selecionado o número gpu j e que alguém já esteja no número gpu j, isso seria problemático.

Eu gostaria de passar pelo uso do gpus e encontrar o primeiro que não é usado e usar apenas este. Eu acho que alguém poderia analisar a saída denvidia-smi com bash e obtenha uma variável ie alimente essa variável i para o script tensorflow como o número da GPU a ser usada.

Eu nunca vi nenhum exemplo disso. Eu imagino que é um problema bastante comum. Qual seria a maneira mais simples de fazer isso? Existe um fluxo tensor puro disponível?

questionAnswers(2)

yourAnswerToTheQuestion