Eu instalei a versão GPU do tensorflow no Ubuntu 14.04.
Estou em um servidor GPU em que o tensorflow pode acessar as GPUs disponíveis.
Eu quero executar o tensorflow nas CPUs.
Normalmente eu posso usar env CUDA_VISIBLE_DEVICES=0
para rodar na GPU no. 0
Como posso escolher entre as CPUs?
Não estou interessado em reescrever meu código com with tf.device("/cpu:0"):
python
tensorflow
Alexander R Johansen
fonte
fonte
CUDA_VISIBLE_DEVICES
a variável de ambiente em vez de alterar a configuração no código?Você também pode definir a variável de ambiente como
sem ter que modificar o código fonte.
fonte
Se as respostas acima não funcionarem, tente:
fonte
tf.keras.Sequential
modelos.Para mim, apenas definindo
CUDA_VISIBLE_DEVICES
com precisão-1
funciona:Trabalho:
Será que não funciona:
fonte
Basta usar o código abaixo.
fonte
Em alguns sistemas, é necessário especificar:
ANTES de importar o fluxo tensor.
fonte
Você poderia usar
tf.config.set_visible_devices
. Uma função possível que permite definir se e quais GPUs usar é:Suponha que você esteja em um sistema com 4 GPUs e deseje usar apenas duas GPUs, a com
id = 0
e a comid = 2
, o primeiro comando do seu código, imediatamente após a importação das bibliotecas, seria:No seu caso, para usar apenas a CPU, você pode chamar a função com uma lista vazia :
Para garantir a integridade, se você quiser evitar que a inicialização do tempo de execução aloque toda a memória do dispositivo, você pode usar
tf.config.experimental.set_memory_growth
. Por fim, a função de gerenciar quais dispositivos usar, ocupando a memória das GPUs dinamicamente, se torna:fonte
Outra solução possível no nível de instalação seria procurar a variante apenas da CPU: https://www.tensorflow.org/install/pip#package-location
No meu caso, isso dá agora:
Basta selecionar a versão correta. Pontos de bônus por usar um venv como explicado, por exemplo, nesta resposta .
fonte