Estou executando um modelo Keras, com um prazo de envio de 36 horas, se eu treinar meu modelo na cpu, levará aproximadamente 50 horas, existe uma maneira de executar Keras na gpu?
Estou usando o back-end do Tensorflow e executando-o no meu notebook Jupyter, sem o anaconda instalado.
python
tensorflow
keras
jupyter
Ryan
fonte
fonte
Respostas:
Sim, você pode executar os modelos keras na GPU. Poucas coisas que você terá que verificar primeiro.
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
OU
saída será algo como isto:
Uma vez feito tudo isso, seu modelo será executado na GPU:
Para verificar se keras (> = 2.1.1) está usando GPU:
Muito bem sucedida.
fonte
Could not find any downloads that satisfy the requirement tensorflow in /usr/local/lib/python2.7/dist-packages Downloading/unpacking tensorflow Cleaning up... No distributions at all found for tensorflow in /usr/local/lib/python2.7/dist-packages Storing debug log for failure in /home/hyperworks/.pip/pip.log
K.tensorflow_backend._get_available_gpus()
não funciona no TensorFlow 2.0.Certo. Suponho que você já instalou o TensorFlow para GPU.
Você precisa adicionar o seguinte bloco depois de importar o keras. Estou trabalhando em uma máquina com 56 núcleos e uma gpu.
Obviamente, esse uso impõe limites máximos às minhas máquinas. Você pode diminuir os valores de consumo de CPU e GPU.
fonte
module 'tensorflow' has no attribute 'ConfigProto'
2.0 Resposta compatível : Embora a resposta acima mencionada explique detalhadamente como usar a GPU no modelo Keras, quero explicar como isso pode ser feito
Tensorflow Version 2.0
.Para saber quantas GPUs estão disponíveis, podemos usar o código abaixo:
Para descobrir a quais dispositivos suas operações e tensores estão atribuídos, coloque
tf.debugging.set_log_device_placement(True)
como a primeira instrução do seu programa.A ativação do registro de posicionamento do dispositivo causa a impressão de qualquer alocação ou operação do tensor. Por exemplo, executando o código abaixo:
fornece a saída mostrada abaixo:
Para mais informações, consulte este link
fonte
Claro. se você estiver executando em back-end Tensorflow ou CNTk, seu código será executado em seus dispositivos de GPU por padrão.
fonte
Veja se seu script está executando a GPU no Gerenciador de tarefas. Caso contrário, suspeite que sua versão do CUDA seja a correta para a versão do tensorflow que você está usando, como as outras respostas já sugeridas.
Além disso, é necessária uma biblioteca CUDA DNN apropriada para a versão CUDA para executar a GPU com fluxo tensor. Faça o download / extraia-o daqui e coloque a DLL (por exemplo, cudnn64_7.dll) na pasta bin CUDA (por exemplo, C: \ Arquivos de Programas \ NVIDIA GPU Computing Toolkit \ CUDA \ v10.1 \ bin).
fonte