Habilitar a aceleração por GPU para o TensorFlow 2 com tensorflow-directml-plugin

Importante

Esse projeto foi descontinuado e não está funcionando ativamente.

Essa versão fornece aos alunos, iniciantes e profissionais uma forma de executar o treinamento de aprendizado de máquina (ML) em seu hardware existente com a tecnologia DirectX 12, usando o Plugin do DirectML para o TensorFlow 2.

Observação

Você pode instalar o tensorflow-directml-plugin usando Python x86-64 3.10. Porém o tensorflow-directml-plugin não é compatível com a versão 3.11 e posterior.

Saiba como configurar seu dispositivo para executar e treinar modelos com a GPU usando o tensorflow-directml-plugin.

ETAPA 1: Requisitos mínimos (e máximos) do sistema

Antes de instalar o TensorFlow-DirectML-Plugin, verifique se sua versão do Windows ou WSL é compatível com esse plugin.

Windows nativo

  • Windows 10 Versão 1709, 64 bits (Build 16299 ou superior) ou Windows 11 Versão 21H2, 64 bits (Build 22000 ou superior)
  • Python x86-64 3.7, 3.8, 3.9 ou 3.10. A versão 3.10 também é a versão máxima compatível.
  • Uma das seguintes GPUs compatíveis:
    • AMD Radeon R5/R7/R9 série 2xx ou mais recente
    • Intel HD Graphics 5xx ou mais recente
    • GPU NVIDIA GeForce GTX série 9xx ou mais recente

Subsistema do Windows para Linux

Instale o driver de GPU mais recente

Verifique se o drivers de GPU mais recentes estão instalados no seu hardware. Selecione Verificar atualizações na seção do Windows Update do aplicativo de Configurações. Se necessário, pegue uma instalação do seu fornecedor de hardware usando os links acima.

ETAPA 2: Configurar o ambiente Windows

Windows nativo

O pacote TensorFlow-DirectML-Plugin no Windows nativo funciona a partir do Windows 10 versão 1709 (Build 16299 ou posterior). Verifique o número de versão do build executando winver por meio do comando Run (Tecla Windows + R).

Subsistema do Windows para Linux

Depois de instalar o driver acima, ative o WSL e instale uma distribuição baseada em glibc (como Ubuntu ou Debian). Para nossos testes, usamos o Ubuntu. Confira se você tem o kernel mais recente selecionando Verifique se há atualizações na seção Windows Update do aplicativo de Configurações.

Observação

Verifique se a opção Receber atualizações para outros produtos Microsoft está habilitada quando você atualizar o Windows. Essa opção pode ser encontrada em Opções avançadas na seção Windows Update do aplicativo de Configurações.

Para esses recursos, você precisa de uma versão do kernel 5.10.43.3 ou superior. Você pode verificar o número da versão executando o comando a seguir no PowerShell.

wsl cat /proc/version

ETAPA 3: Configurar o ambiente de desenvolvimento

É recomendável configurar um ambiente virtual Python no Windows. Há muitas ferramentas que você pode usar para configurar um ambiente virtual Python: para estas instruções, usaremos o Miniconda do Anaconda. O restante dessa configuração pressupõe que você use um ambiente Miniconda. Saiba mais sobre o uso de ambientes python

Criar um ambiente no Miniconda

Baixe e instale o instalador do Windows para Miniconda em seu sistema. Consulte as diretrizes adicionais para instalação no site do Anaconda. Depois que o Miniconda for instalado, crie um ambiente usando o Python tfdml_plugin e ative-o por meio dos comandos a seguir.

conda create --name tfdml_plugin python=3.9 

conda activate tfdml_plugin 

Observação

tensorflow versão >= 2.9 e python versão >= 3.7 compatíveis.

ETAPA 4: Instalar o TensorFlow base

Baixe o pacote base do TensorFlow. Atualmente o directml-plugin só funciona com o tensorflow–cpu==2.10 e não com o tensorflow ou tensorflow-gpu.

pip install tensorflow-cpu==2.10

ETAPA 5: Instale tensorflow-directml-plugin

A instalação deste pacote habilita automaticamente o back-end DirectML para scripts existentes sem alterações de código.

pip install tensorflow-directml-plugin

Observação

Se seus scripts de treinamento codificarem a cadeia de caracteres do dispositivo para algo diferente de "GPU", isso poderá gerar erros.

Como alternativa, o pacote pode ser compilado com o código-fonte. Instruções para compilar tensorflow-directml-plugin com o código-fonte.

TensorFlow com exemplos e comentários de DirectML

Confira nossos exemplos ou use seus scripts de modelo existentes. Se você tiver problemas ou comentários a fazer sobre o pacote TensorFlow-DirectML-Plugin, entre em contato com nossa equipe.