Pour utiliser GPU avec TensorFlow, il est nécessaire d'utiliser des versions compatibles de CUDA et cuDNN, et à partir du 9 août 2020, le dernier TensorFlow 2.3.0 prend également en charge CUDA 11 et cuDNN 8. N'est pas ... Par conséquent, la création à partir du code source échouera en raison de problèmes de compatibilité.
… Mais pour ceux qui utilisent «CUDA 11 + cuDNN 8» et qui veulent toujours utiliser le GPU avec TensorFlow, «force» TensorFlow 2.3.0 à être construit pour CUDA 11 + cuDNN 8 Je vais quitter la méthode. Veuillez noter qu'il n'y a aucune garantie que tout fonctionnera correctement car il s'agit d'une combinaison de versions qui ne sont normalement pas prises en charge. Cela fonctionne bien dans la mesure où j'ai essayé d'apprendre et de déduire un modèle CNN simple, mais c'est une bonne idée de le garder expérimental. (Mesures temporaires jusqu'au soutien officiel de CUDA11 + cuDNN8)
C'est l'environnement utilisé pour la construction. Il est dans un état où le chemin est transmis à l'avance, comme les dossiers CUDA et cuDNN.
pacman -S git patch unzip
)Cette fois, le code source de TensorFlow est téléchargé et construit sous le dossier S: \ build \ build_tf230
. Un environnement virtuel Python est également préparé pour la construction de TensorFlow.
S:/build/build_tf230 #Dossier de travail Racine
+ tensorflow #Code source obtenu par git
+ venv #Environnement virtuel Python
+ wheelhouse #Dossier pour stocker le fichier whl créé
Démarrez l'invite de commande des outils natifs x64 pour VS 2019
et suivez les étapes ci-dessous pour créer.
#Créer et activer un environnement virtuel
python -m venv s:\build\build_tf230\venv
cd /d s:\build\build_tf230
.\venv\Scripts\activate.bat
#Installation des packages requis
#Remarque: dernier 1.19.Notez que la construction échouera si vous utilisez NumPy de la série x
python -m pip install --upgrade pip
pip install numpy==1.18.5
pip install six wheel
pip install keras_applications==1.0.8 --no-deps
pip install keras_preprocessing==1.1.2 --no-deps
#Obtenir le code source (v2.3.0 spécification de balise)
git clone -b v2.3.0 https://github.com/tensorflow/tensorflow.git
cd tensorflow
#Selon l'environnement, les paramètres de commande peuvent devenir trop longs et une erreur peut se produire, supprimez donc les variables d'environnement inutiles.
set _OLD_VIRTUAL_PATH=
#Construire les paramètres de configuration
# CUDA support: Y
# CUDA compute capabilities: 7.5 (Changer selon l'environnement d'utilisation)
# Optimization: /arch:AVX2 (modifié en fonction de l'environnement d'utilisation)
#Sinon, paramètres par défaut (Entrée)
python ./configure.py
#Lors de l'utilisation de CUDA 11, la configuration suivante.Une erreur se produit à la 78e ligne de h.
# C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\include\thrust\system\cuda\config.h
#La vérification de compatibilité fait partie de la version CUB, mais cette vérification est "THRUST"_IGNORE_CUB_VERSION_Vous pouvez l'ignorer en définissant "CHECK".
#POUSSÉE avec paramètres bazel_IGNORE_CUB_VERSION_Générez TensorFlow avec CHECK activé.
bazel build --config=opt --config=avx2_win --config=short_logs --config=cuda --define=no_tensorflow_py_deps=true --copt=-DTHRUST_IGNORE_CUB_VERSION_CHECK --copt=-nvcc_options=disable-warnings //tensorflow/tools/pip_package:build_pip_package
#Créer un package (créer un package dans le dossier de la timonerie)
#J'ai peur que l'écran ne s'actualise pas pendant quelques minutes, mais il est traité correctement alors attendons un moment.
bazel-bin\tensorflow\tools\pip_package\build_pip_package ..\wheelhouse
C'est tout.
Le but est d'ajouter --copt = -DTHRUST_IGNORE_CUB_VERSION_CHECK
au paramètre de construction bazel pour ignorer la vérification de compatibilité CUB pour CUDA 11.
Recommended Posts