Executando verificação de segurança...
2

[TUTORIAL] Instalação Tensorflow GPU Ubuntu

Introdução

Para os iniciantes em Deep Learning assim como eu, a instalação do tensorflow para rodar em GPU no Ubuntu pode ser uma dor de cabeça, principalmente seguindo a documentação, pois a mesma propõe uma forma que não funciona 🥴.

Muitos "passo a passo" estão desatualizados, inclusive ensinando a instalação do tensorflow-gpu que foi descontinuado.

Então após seguir as dicas do precioso ChatGPT e ter me decepcionado, optei por seguir a documentação do tensorflow e acabar na mesma.

Mas como um bom brasileiro que não desiste nunca, contrariando Einstein ("Insanidade é continuar fazendo sempre a mesma coisa e esperar resultados diferentes") vi que ele era realmente um gênio, pois meus resultados foram os mesmos após 14 tentativas, até que decidi aprender com essa frase.

Problema da documentação

O problema na doc é o seguinte, se você rodar esse primeiro trecho proposto:

conda install -c conda-forge cudatoolkit=11.8.0
python3 -m pip install nvidia-cudnn-cu11==8.6.0.163 tensorflow==2.12.*
CUDNN_PATH=$(dirname $(python -c "import nvidia.cudnn;print(nvidia.cudnn.__file__)"))
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CONDA_PREFIX/lib/:$CUDNN_PATH/lib
# Verify install:
python3 -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"

Ele provavelmente retornará:

[]

O que demonstra que sua GPU não foi encontrada.

Mas se você iniciar a partir do Step-by-step instructions, ao chegar no passo 4. GPU setup:

conda install -c conda-forge cudatoolkit=11.8.0
pip install nvidia-cudnn-cu11==8.6.0.163

ele retornará:

GPG error: file:/var/cudnn-local-repo-ubuntu2204-8.8.1.3 InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY C3005E9BDB35EEEE

Mas mesmo assim, você ainda consegue continuar as instalações até chegar em:

pip install tensorflow==2.12.*

pois retornará outro erro reclamando do *, então terá que rodar:

pip install tensorflow

o que fará com que a versão 2.12.0 seja instalada corretamente.

Ao rodar as verificações de CPU ele retornará:

tf.Tensor(-562.19586, shape=(), dtype=float32)

e de GPU:

[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]

😱 Deu certo Marcos! Do que você está reclamando???

Não deu meu querido, se você rodar um notebook pelo vscode conectando no kernel tf criado pelo conda onde você fez todas essas configurações, com o seguinte código:

import tensorflow as tf
print(tf.config.list_physical_devices('GPU'))

seu retorno será:

[]

Ou seja, as configurações não foram feitas com sucesso. O motivo disso é a instalação do nvidia.cudnn que te retornou GPG error: ...NO_PUBKEY C3005E9BDB35EEEE, isso fará com que não seja possível vc exportar o CUDNN_PATH e ter "acesso" a placa de vídeo pois os softwares não foram instalados corretamente.

Solução

Siga a doc até chegar no passo 4. GPU setup, mas ao instalar o cudatoolkit e nvidia-cudnn rode sem especificar a versão e instale o cu12:

conda install -c conda-forge cudatoolkit
pip install nvidia-cudnn-cu12

Assim a instalação será com as últimas versões, fazendo com que não ocorra o problema da public key e a exportação do seu CUDNN_PATH dê certo, dessa forma ao rodar no vscode:

import tensorflow as tf
print(tf.config.list_physical_devices('GPU'))

seu retorno será:

[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]

O que demonstra que seu tensorflow estará rodando com sua GPU.

Uma coisa simples, porém que não encontrei em nenhum lugar. Dessa forma, espero que possa ajudar os demais que se depararem com esse erro.

💡 Dica extra

Caso queira monitorar o uso da GPU em tempo real, só rodar no terminal:

watch -n 1 nvidia-smi

Contato

linkedingithub
Carregando publicação patrocinada...
0
2
1