Installation et configuration de TensorFlow GPU avec Conda

La mise en place d'un environnement de deep learning performant nécessite une orchestration précise entre les pilotes graphiques, les bibliothèques de calcul parallèle et le framework TensorFlow. Ce guide détaille les étapes pour configurer TensorFlow GPU version 2.2 au sein d'un environnement Anacnoda.

1. Création de l'environnement virtuel

Il est recommandé d'isoler l'installation pour éviter les conflits de dépendances. Ouvrez votre terminal Anaconda Prompt et exécutez la commande suivante pour créer un environnement sous Python 3.8 :

conda create -n env_tf_gpu python=3.8
conda activate env_tf_gpu

2. Installation des dépendances CUDA et TensorFlow

Pour la version 2.2.0 de TensorFlow, une compatibilité spécifique avec CUDA 10.1 et cuDNN 7.6 est requise. Utilisez les commandes suivantes pour installer les binaires nécessaires :

conda install cudatoolkit=10.1.243
conda install cudnn=7.6.5
pip install tensorflow-gpu==2.2.0

3. Script de validation du matériel

Une fois l'installation terminée, il est crucial de vérifier que TensorFlow communique correctement avec votre processeur graphique (GPU). Lancez l'interpréteur Python et utilisez le script suivant :

import tensorflow as tf

# Vérification de la version
print(f"Version de TensorFlow : {tf.__version__}")

# Analyse des périphériques matériels
gpus = tf.config.list_physical_devices('GPU')
cpus = tf.config.list_physical_devices('CPU')

print(f"Unités de calcul GPU détectées : {len(gpus)}")
print(f"Unités de calcul CPU détectées : {len(cpus)}")

# Test de disponibilité fonctionnelle
if gpus:
    print("Le support GPU est opérationnel.")
else:
    print("Attention : Le GPU n'est pas détecté par TensorFlow.")

4. Résolution des conflits de bibliothèques

L'utilisation de versions plus anciennes de TensorFlow peut engendrer des erreurs liées à l'évolution des bibliothèques tierces comme Protobuf ou NumPy.

Correction de l'erreur Protobuf

Si vous rencontrez une erreur de type TypeError: Descriptors cannot not be created directly, cela signifie que la version de Protobuf installée est trop récente. Il faut effectuer un downgrade vers la branche 3.20.x :

pip uninstall protobuf
pip install protobuf==3.20.0

Compatibilité NumPy

Des instabilités peuvent survenir si NumPy est trop récent pour TensorFlow 2.2. Une version stable pour cet environnement est la 1.19.2 :

pip uninstall numpy
conda install numpy=1.19.2

5. Intégration avec Jupyter Notebook

Pour utiliser cet environnement spécifique à l'intérieur de Jupyter, vous devez installer un noyau (kernel) dédié :

# Installation de ipykernel
pip install ipykernel

# Enregistrement de l'environnement dans Jupyter
python -m ipykernel install --user --name env_tf_gpu --display-name "Python 3.8 (TF-GPU)"

Après cette manipultaion, vous pourrez sélectionner "Python 3.8 (TF-GPU)" dans le menu des noyaux de votre interface Jupyter Ntoebook.

Étiquettes: TensorFlow conda CUDA GPU deep-learning

Publié le 4 juin à 06h54