[PYTHON] Procédure de génération de TensorFlow 2.2.0-rc0 (CUDA10.2 + cuDNN7.6.5) --Windows10

Il s'agit de la procédure pour créer TensorFlow 2.2.0-rc0 (version GPU) sous Windows 10. Comme les explications détaillées sont omises et que seuls les principaux points sont décrits, pour un contenu un peu plus détaillé, voir Blog de dev.infohub.cc etc. J'espère que vous pourrez vous y référer.

Préparation de l'environnement de construction

Utilisez l'environnement suivant pour la construction. CUDA, cuDNN, Python, etc. doivent être placés dans le PATH à l'avance.

Package MSYS2 ajouté

Lancez C: \ msys64 \ msys2_shell.cmd et ajoutez les packages nécessaires à la construction.

#Installation des packages requis
pacman -S git patch unzip

#Après cela, la console de MSYS2 ne sera plus utilisée, elle se terminera donc.
exit

Construire TensorFlow

Nous allons construire TensorFlow en utilisant l'environnement virtuel Python g: \ venvs \ build_tf2 pour la construction. Veuillez lire le chemin, etc. en fonction de chaque environnement.

Pour les opérations suivantes, utilisez l'écran de la console lancé par l'invite de commande des outils natifs x64 pour VS 2019 dans Visual Studio 2019.

#Créer et activer un environnement virtuel
python -m venv g:\venvs\build_tf2
cd /d g:\venvs\build_tf2
g:\venvs\build_tf2\Scripts\activate.bat

#mise à niveau de pip (facultatif)
python -m pip install --upgrade pip

#Présentez les packages requis pour la construction
pip install six numpy wheel
pip install keras_applications==1.0.8 --no-deps
pip install keras_preprocessing==1.1.0 --no-deps

# TensorFlow v2.2.0-Obtenez le code source de rc0
git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow
git checkout v2.2.0-rc0

#Supprimer les variables d'environnement inutiles (facultatif)
#Toutes les variables d'environnement sont transmises en tant que paramètres, donc si la chaîne de paramètres dépasse 32768 caractères
# FATAL: Command line too long (34052 > 32768)Une erreur comme celle-ci se produit.
#Pour éviter cela, supprimez temporairement les variables d'environnement inutiles ici.
# _OLD_VIRTUAL_PATH a tendance à avoir un grand nombre de caractères, c'est donc le premier choix à supprimer.
set _OLD_VIRTUAL_PATH=

#Construire les paramètres de configuration
#----------------------------------------------------------------
# <Exemple de réglage>
# Location of Python        : (Default)
# ROCm support              : (Default = N)
# CUDA support              : Y
# CUDA compute capabilities : 7.5 (Pour plus de détails https://developer.nvidia.com/cuda-Voir gpus) 
# Optimization flag         : /arch:AVX2
# Override eigen...         : (Default = Y)
#----------------------------------------------------------------
python ./configure.py

#Build (pour CUDA)
#Cela prendra des dizaines de minutes à heures pour terminer la construction
bazel build --config=opt --config=cuda --define=no_tensorflow_py_deps=true --copt=-nvcc_options=disable-warnings //tensorflow/tools/pip_package:build_pip_package

#Créer un package Wheel
# g:\tensorflow_Créer un package dans le dossier pkg (prend quelques minutes)
bazel-bin\tensorflow\tools\pip_package\build_pip_package g:\tensorflow_pkg

#Ceci termine la génération de TensorFlow. Sortie avec sortie.
#----------------------------------------------------------------
# <référence>
#Dossier de travail de Bazel%UserProfile%_bazel_%UserName%Parce qu'il est créé en
#Si vous n'en avez pas besoin, vous pouvez supprimer ce dossier (capacité d'environ 20 Go)
#----------------------------------------------------------------
exit

Présentation de TensorFlow intégré dans un nouvel environnement

Comment déployer le TensorFlow intégré dans un nouvel environnement virtuel Python. Voici un exemple de création d'un nouvel environnement virtuel dans g: \ venvs \ tf2.

#Créer et activer un environnement virtuel
python -m venv g:\venvs\tf2
g:\venvs\tf2\Scripts\activate.bat

#mise à jour du pip (facultatif)
python -m pip install --upgrade pip

#Installez le TensorFlow intégré (spécifiez simplement le fichier de roue créé)
pip install g:\tensorflow_pkg\tensorflow-2.2.0rc0-cp38-cp38-win_amd64.whl

#Contrôle de fonctionnement
python -c "import tensorflow as tf; print(tf.__version__); print(tf.keras.__version__)"
python -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))"

Remarques

J'ai l'impression que la construction de TensorFlow 2.2.0-rc0 est beaucoup plus facile qu'elle ne l'était dans TensorFlow v1. Même dans cette version, quand j'ai essayé python. / Configure.py, je viens de rencontrer l'erreur FATAL: ligne de commande trop longue (34052> 32768), et rien d'autre ne s'est produit. fait.

Dans de nombreux cas, la DLL est introuvable au moment de l'exécution et une erreur se produit. Dans ce cas, vérifiez que le chemin d'accès à la bibliothèque requise telle que CUDA est en place.

Recommended Posts

Procédure de génération de TensorFlow 2.2.0-rc0 (CUDA10.2 + cuDNN7.6.5) --Windows10
Construire TensorFlow sous Windows
Comment forcer TensorFlow 2.3.0 à construire pour CUDA11 + cuDNN8
Installez CUDA10.1 + cuDNN7.6.5 + tensorflow-2.3.0 sur Ubuntu 18.04
Comment mettre à jour vers Chainer 2.0 (Windows + CUDA 8.0 + CUDNN)
Étapes pour créer PyTorch 1.5 pour CUDA 10.2 sous Windows
Procédure d'exécution de TensorFlow dans le traitement par lots de Spacon ITO
Apprenons en profondeur! Sous Windows (VS2013 + caffe + CUDA7.5 + cudnn5.1)
Mémo de procédure lors de la version non officielle de CardIO