Eu instalei o tensorflow no meu ubuntu 16.04 usando a segunda resposta aqui com a instalação interna do apt cuda do ubuntu.
Agora, minha pergunta é como posso testar se o tensorflow está realmente usando a gpu? Eu tenho uma GPU GTX 960m. Quando eu import tensorflow
esta é a saída
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcurand.so locally
Esta saída é suficiente para verificar se o tensorflow está usando a GPU?
python
tensorflow
ubuntu
gpu
Tamim Addari
fonte
fonte
log_device_placement
abordagem em resposta. A maneira mais confiável é olhada cronograma conforme especificado neste comentário: github.com/tensorflow/tensorflow/issues/...Respostas:
Não, acho que a "biblioteca CUDA aberta" não é suficiente, porque diferentes nós do gráfico podem estar em dispositivos diferentes.
Para descobrir qual dispositivo é usado, você pode ativar o posicionamento do dispositivo de log desta maneira:
Verifique seu console para esse tipo de saída.
fonte
sess = tf.compat.v1.Session(config=tf.compat.v1.ConfigProto(log_device_placement=True))
Além de usar o
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
que é descrito em outras respostas, bem como na documentação oficial do TensorFlow , você pode tentar atribuir um cálculo à gpu e verificar se há algum erro.Aqui
Se você tem um gpu e pode usá-lo, verá o resultado. Caso contrário, você verá um erro com um longo rastreamento de pilha. No final, você terá algo parecido com isto:
Recentemente, algumas funções úteis apareceram no TF:
Você também pode verificar os dispositivos disponíveis na sessão:
devices
retornará algo comofonte
Found device 0 with properties: name: GeForce GTX 1080 Ti major: 6 minor: 1 memoryClockRate(GHz): 1.582 pciBusID: 0000:02:00.0 totalMemory: 10.92GiB freeMemory: 10.76GiB
O código a seguir deve fornecer todos os dispositivos disponíveis para o fluxo tensor.
fonte
Eu acho que existe uma maneira mais fácil de conseguir isso.
Geralmente imprime como
Isso me parece mais fácil do que os logs detalhados.
fonte
Tensorflow 2.0
As sessões não são mais usadas no 2.0. Em vez disso, pode-se usar
tf.test.is_gpu_available
:Se você receber um erro, precisará verificar sua instalação.
fonte
tf.config.list_physical_devices('GPU')
Isso confirmará que o tensorflow usando a GPU durante o treinamento também?
Código
Resultado
fonte
log_device_placement
faz e como ver CPU vs. GPU na saída?). Isso melhorará a qualidade da sua resposta!Além de outras respostas, o seguinte deve ajudá-lo a garantir que sua versão do tensorflow inclua suporte à GPU.
fonte
Ok, primeiro inicie um
ipython shell
do terminal e oimport
TensorFlow:Agora, podemos assistir o uso da memória da GPU em um console usando o seguinte comando:
Como apenas
import
editamos o TensorFlow, mas ainda não usamos nenhuma GPU, as estatísticas de uso serão:Observe como o uso de memória da GPU é muito menor (~ 700 MB); Às vezes, o uso da memória da GPU pode chegar a 0 MB.
Agora, vamos carregar a GPU em nosso código. Conforme indicado em
tf documentation
, faça:Agora, os relógios estatísticas devem mostrar um uso de memória GPU atualizado conforme a seguir:
Observe agora como nosso processo Python a partir do shell ipython está usando ~ 7 GB da memória da GPU.
PS Você pode continuar observando essas estatísticas enquanto o código está sendo executado, para ver a intensidade do uso da GPU ao longo do tempo.
fonte
Isso deve fornecer a lista de dispositivos disponíveis para o Tensorflow (em Py-3.6):
fonte
Eu prefiro usar a nvidia-smi para monitorar o uso da GPU. se aumentar significativamente quando você inicia o programa, é um forte sinal de que seu tensorflow está usando GPU.
fonte
Com as atualizações recentes do Tensorflow, você pode verificá-lo da seguinte forma:
Isso retornará
True
se a GPU estiver sendo usadaTensorflow
e,False
caso contrário , retornará .Se você quiser dispositivo
device_name
, você pode digitar:tf.test.gpu_device_name()
. Obtenha mais detalhes daquifonte
Execute o seguinte no Jupyter,
Se você configurou seu ambiente corretamente, obterá a seguinte saída no terminal em que executou o "jupyter notebook" ,
Você pode ver aqui que estou usando o TensorFlow com uma Nvidia Quodro K620.
fonte
Acho que consultar a gpu na linha de comando é mais fácil:
se o seu aprendizado é um processo em segundo plano, o pid
jobs -p
deve corresponder ao pid denvidia-smi
fonte
Você pode verificar se atualmente está usando a GPU executando o seguinte código:
Se a saída for
''
, significa que você está usandoCPU
apenas;Se a saída é algo assim
/device:GPU:0
, significa queGPU
funciona.E use o seguinte código para verificar qual
GPU
você está usando:fonte
' '
, então o que devemos fazer?Coloque isso perto da parte superior do seu notebook jupyter. Comente o que você não precisa.
NOTA: Com o lançamento do TensorFlow 2.0, o Keras agora está incluído como parte da API TF.
Originalmente respondida aqui .
fonte
Para Tensorflow 2.0
fonte aqui
outra opção é:
fonte
is_gpu_available
(de tensorflow.python.framework.test_util) foi descontinuado e será removido em uma versão futura.ATUALIZAÇÃO PARA FLUXO DE TENSOR> = 2.1.
A maneira recomendada de verificar se o TensorFlow está usando GPU é a seguinte:
A partir do TensorFlow 2.1,
tf.test.gpu_device_name()
foi preterido em favor do mencionado acima.fonte
Esta é a linha que estou usando para listar os dispositivos disponíveis
tf.session
diretamente no bash:Ele imprimirá os dispositivos disponíveis e a versão do tensorflow, por exemplo:
fonte
Encontrei abaixo o snippet é muito útil para testar a gpu ..
Teste do Tensorflow 2.0
Teste de Tensorflow 1
fonte
O seguinte também retornará o nome dos seus dispositivos GPU.
fonte
Com tensotflow 2.0> =
fonte
Como sugerido por @AmitaiIrron:
Esta seção indica que uma gpu foi encontrada
E aqui que foi adicionado como um dispositivo físico disponível
fonte
Você tem algumas opções para testar se a aceleração da GPU está sendo usada pela instalação do TensorFlow.
Você pode digitar os seguintes comandos em três plataformas diferentes.
Spyder - Digite o seguinte comando no console.
import tensorflow as tf tf.test.is_gpu_available()
fonte
Tensorflow 2.1
Um cálculo simples que pode ser verificado com a nvidia-smi para uso de memória na GPU.
fonte
Se você estiver usando o TensorFlow 2.0, poderá usar isso para loop para mostrar os dispositivos:
fonte
se você estiver usando o tensorflow 2.x, use:
fonte
Execute este comando no Jupyter ou no seu IDE para verificar se o Tensorflow está usando uma GPU ou não:
tf.config.list_physical_devices('GPU')
fonte