Depois de apanhar bastante tentando instalar TensorFlow e mais alguns pacotes no Windows via Anaconda e deixa-los funcionando na GPU, acabei formulando a seguinte receita, que anotei para reusar:
conda create --name tf python=3.9 conda activate tf conda install -c conda-forge cudatoolkit=11.2 cudnn=8.1.0 pip install "tensorflow<2.11" pip install tensorflow-addons[tensorflow] conda install pandas scikit-learn pillow spyder
A primeira linha cria um ambiente para o TensorFlow, como mandam as boas práticas, e já instala o Python 3.9, pip e outros pacotes úteis:
conda create --name tf python=3.9
A segunda linha ativa esse novo ambiente:
conda activate tf
A terceira linha instala CuDNN e CudaToolkit, os pacotes necessários para que o TensorFlow funcione na GPU, já usando as versões que são usadas pelo TensorFlow 2.10:
conda install -c conda-forge cudatoolkit=11.2 cudnn=8.1.0
A quarta linha instala o TensorFlow 2.10 via PIP, pois o Anaconda costuma estar sempre atrasado com as atualizações do TensorFlow. Note que a versão 2.10 é a última que suporta GPUs no Windows nativamente. A versão 2.11 já saiu e o suporte é apenas via WSL. Infelizmente não consegui fazer os drivers da NVidia funcionarem via WSL, então fiquei com o 2.10 por enquanto.
pip install "tensorflow<2.11"
A quinta linha instala o TensorFlow-Addons, pacote que também estou utilizando para ter taxas de aprendizado diferenciadas em cada camada de uma rede neural:
pip install tensorflow-addons[tensorflow]
A sexta linha instala os demais pacotes que estou utilizando (Pandas, Scikit-Learn, e Pillow). Instala também o Spyder. Normalmente eu deixava o Spyder instalado apenas no ambiente base, como ele já vem por padrão, e no ambiente do TensorFlow eu instalava apenas o Spyder-Kernels. Mas recentemente tive problemas com o Spyder não encontrando caminho que precisava, dentre outras falhas. Assim, estou optando por instalar o Spyder completo no ambiente que vou usar:
conda install pandas scikit-learn pillow spyder
Dessa forma eu estou conseguindo usar o TensorFlow na GPU junto com todos os pacotes que preciso e com o Spyder. Misturar conda e pip não é ideal, mas infelizmente tem horas que não há o que fazer.
Para construir essa receita me baseei nas instruções de instalação do TensorFlow e do TensorFlow-Addons.