Configuração e Solução de Problemas para Ambientes CUDA e PyTorch no Windows e Linux

Pré-requisitos e Compatibilidade de Hardware

Antes de iniciar a configuração, certifique-se de que o Anaconda está instalado e de que o sistema possui uma GPU NVIDIA compatível. A escolha das versões do CUDA e do cuDNN deve ser rigorosamente alinhada com o driver da NVIDIA instalado no sistema operacional.

Instalação do Driver NVIDIA e cuDNN

Ao selecionar o toolkit do CUDA, verifique a tabela de compatibilidade de drivers. É possível instalar uma versão do CUDA ligeiramente inferior à máxima suportada pelo driver, mas nunca superior. Por exemplo, GPUs como a RTX 3060 exigem CUDA 11 ou superior.

O download do cuDNN deve ser feito diretamente do site da NVIDIA, garantindo que a versão escolhida seja estritamente compatível com a versão do toolkit CUDA instalada. Recomenda-se o uso de navegadores alternativos ou gerenciadores de download caso a transferência padrão seja instável.

Configuração do Ambiente Conda e Instalação do PyTorch

Para evitar conflitos de dependências, é recomendável limpar canais personalizados anteriores antes de criar um novo ambiente isolado.

# Configurar variável de ambiente no Linux para acesso global ao Conda
echo 'export PATH="$HOME/anaconda3/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

# Limpar canais personalizados e criar um novo ambiente isolado
conda config --remove-key channels
conda create --name deep_learning_env python=3.9

Após a criação, adicione os repositórios espelho para acelerar o download dos pacotes e instale o PyTorch. A instalação via pip é frequentemente mais confiável para especificar a versão exata do CUDA e evitar conflitos de fonte.

# Ativar o ambiente recém-criado
conda activate deep_learning_env

# Configurar repositórios espelho para otimizar a velocidade de download
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes

# Instalar PyTorch via pip especificando a versão do CUDA (exemplo: cu118)
# Nota: Evite usar o parâmetro '-c pytorch' para não sobrescrever os repositórios configurados
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

Validação da Integração GPU

Para confirmar que o PyTorch consegue comunicar corretamente com a GPU, execute o seguinte script de validação no terminal Python:

import torch

# Verificar instalação básica do tensor
tensor_test = torch.randn(3, 3)
print("Tensor criado com sucesso:", tensor_test)

# Verificar disponibilidade e status da CUDA
gpu_status = torch.cuda.is_available()
print("CUDA disponível:", gpu_status)

if gpu_status:
    print("Nome da GPU detectada:", torch.cuda.get_device_name(0))

Resolução de Problemas Frequentes

  • torch.cuda.is_available() retorna False sem erros: Geralmente indica incompatibilidade de versões. Recrie o ambiente virtual e reinstale o PyTorch, garantindo que as versões do driver, CUDA e cuDNN estejam perfeitamente alinhadas.
  • torch.cuda.is_available() retorna False com erros: Indica falha na comunicação com o driver. Tente descarregar e recarregar os módulos do driver NVIDIA (unload/reload) ou reinicie o sistema.
  • Erro Failed to initialize NVML: Driver library version mismatch ao executar nvidia-smi: Este erro ocorre quando há conflito entre o driver carregado e a biblioteca. A solução é recarregar o driver ou reiniciar a máquina para sincronizar as versões em nível de kernel.

Gerenciamento de Ambientes Conda

Comandos essenciais para a manutenção dos ambientes virtuais, compatíveis com Windows e Linux:

# Listar todos os ambientes virtuais existentes
conda env list

# Clonar um ambiente existente para backup ou teste
conda create --name backup_env --clone deep_learning_env

# Desativar o ambiente virtual atual
conda deactivate

# Remover completamente um ambiente e todos os seus pacotes
conda env remove --name backup_env

Tags: CUDA Pytorch Conda NVIDIA GPU

Publicado em 7-15 09:27