linux_compiler_tensorflow_avec_bazel
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
linux_compiler_tensorflow_avec_bazel [2021/12/16 12:42] – [Compilation de tensorflow] serge | linux_compiler_tensorflow_avec_bazel [2021/12/20 11:13] (Version actuelle) – [La version Intel de Tensorflow] serge | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Linux Compiler Tensorflow avec Bazel ====== | ====== Linux Compiler Tensorflow avec Bazel ====== | ||
- | <WRAP center round box 60%> | + | <WRAP center round box 60% centeralign> |
- | **L' | + | **L' |
Voir **[[movenet|]]** | Voir **[[movenet|]]** | ||
</ | </ | ||
- | =====Intel===== | + | =====La version |
**[[https:// | **[[https:// | ||
Ligne 12: | Ligne 12: | ||
</ | </ | ||
- | Donne toujours le message AVX2 et FMA, et ça ne va pas plus vite ! | + | Donne toujours le message AVX2 et FMA. Mais c'est normal.\\ |
+ | Bienvenue dans le monde de Tensoflow: c'est un Warning, mais ce n' | ||
+ | Mon FPS a augmenté de 10 à 20 % :-P | ||
- | https:// | + | **Il est inutile de compiler** 8-) |
=====Ressources===== | =====Ressources===== | ||
* **[[https:// | * **[[https:// | ||
- | * **[[https:// | + | * **[[https:// |
- | * **[[https:// | + | |
+ | Sur les internets, ça en cause: | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | | ||
=====Installation de Bazel===== | =====Installation de Bazel===== | ||
Ligne 33: | Ligne 41: | ||
=====Sans GPU sur Debian===== | =====Sans GPU sur Debian===== | ||
- | Désinstaller les packages python | + | Désinstaller les packages python tensorflow si ils sont installés. |
+ | <code bash> | ||
+ | pip3 list | ||
+ | # Dans la list, chercher ce qu'il faut désinstaller ... | ||
+ | python3 -m pip uninstall tensorflow intel-tensorflow | ||
+ | ... | ||
+ | </ | ||
Installation du nécessaire: | Installation du nécessaire: | ||
- | | + | <code bash> |
- | python3 -m pip install keras_preprocessing --no-deps | + | python3 -m pip install numpy wheel protobuf |
- | + | python3 -m pip install keras_preprocessing --no-deps | |
+ | </ | ||
Récupération des sources de tensorflow: | Récupération des sources de tensorflow: | ||
- | | + | <code bash> |
- | git clone https:// | + | cd / |
- | ./configure | + | git clone https:// |
- | + | ./configure | |
- | ====Mes réponses==== | + | |
- | < | + | |
- | Make sure you are running at least bazel 4.2.1 | + | |
- | Please specify the location of python. [Default is / | + | |
- | Found possible Python library paths: | + | |
- | / | + | |
- | / | + | |
- | Please input the desired Python library path to use. Default is [/ | + | |
- | Do you wish to build TensorFlow with ROCm support? [y/N]: n | + | |
- | No ROCm support will be enabled for TensorFlow. | + | |
- | Do you wish to build TensorFlow with CUDA support? [y/N]: n | + | |
- | No CUDA support will be enabled for TensorFlow. | + | |
- | Do you wish to download a fresh release of clang? (Experimental) [y/N]: n | + | |
- | Clang will not be downloaded. | + | |
- | Please specify optimization flags to use during compilation when bazel option " | + | |
- | Would you like to interactively configure ./WORKSPACE for Android builds? [y/N]: n | + | |
- | Not configuring the WORKSPACE for Android builds. | + | |
</ | </ | ||
- | ====Avant de recommencer==== | + | Cela génère un fichier .tf_configure.bazelrc dans le dossier |
- | bazel clean | + | Répondre entrée ou N partout, nous allons corriger le fichier à la main: |
- | + | ||
- | ====Compilation de tensorflow==== | + | |
- | sudo ln -s / | + | |
- | bazel build -j 4 // | + | |
- | | + | |
- | + | ||
- | INFO: Elapsed time: 11341.078s, Critical Path: 1101.95s\\ | + | |
- | INFO: 11460 processes: 1325 internal, 10135 local.\\ | + | |
- | INFO: Build completed successfully, | + | |
- | soit 3.1 heures ! | + | |
- | + | ||
- | =====Test spécial===== | + | |
<code bash> | <code bash> | ||
build --action_env PYTHON_BIN_PATH="/ | build --action_env PYTHON_BIN_PATH="/ | ||
Ligne 91: | Ligne 77: | ||
</ | </ | ||
- | bazel build -j 4 --copt=-mavx2 --copt=-mfma | ||
+ | |||
+ | ====Compilation de tensorflow==== | ||
+ | <code bash> | ||
+ | sudo ln -s / | ||
+ | bazel build -j 4 --copt=-mavx2 --copt=-mfma | ||
+ | ./ | ||
+ | </ | ||
===Consommation mémoire=== | ===Consommation mémoire=== | ||
- | Sur un i5 à 8 threads et 8 Go de Ram: -j 4 pour limiter la consommation de mémoire | + | Sur un i5 à 8 threads et 8 Go de Ram: -j 2 pour limiter la consommation de mémoire, sinon Swap de 8 Go insuffisante. |
- | ====Conseils Geek==== | + | ===Stop et reprise=== |
- | Au lieu de répondre aux questions de ./ | + | Bazel reprend là où il s'est arrêté. Pour nettoyer avant de reprendre: bazel clean |
+ | |||
+ | ===Success=== | ||
<code bash> | <code bash> | ||
- | build --action_env PYTHON_BIN_PATH="/ | + | INFO: Elapsed time: 19106.040s, Critical Path: 196.86s |
- | build --action_env PYTHON_LIB_PATH="/ | + | soit 5.3 heures, perso je trouve 7 heures! |
- | build --python_path="/ | + | INFO: 11460 processes: 1325 internal, 10135 local. |
- | build:opt --copt=-march=native | + | INFO: Build completed successfully, 11460 total actions |
- | build:opt --copt=-Wno-sign-compare | + | |
- | build:opt --copt=-mavx | + | |
- | build:opt --copt=-mavx2 | + | |
- | build:opt --copt=-mfma | + | |
- | build:opt --host_copt=-march=native | + | |
- | build:opt --define with_default_optimizations=true | + | |
- | test --flaky_test_attempts=3 | + | |
- | test --test_size_filters=small,medium | + | |
- | test:v1 --test_tag_filters=-benchmark-test, | + | |
- | test:v1 --build_tag_filters=-benchmark-test,-no_oss, | + | |
- | test:v2 --test_tag_filters=-benchmark-test, | + | |
- | test:v2 --build_tag_filters=-benchmark-test, | + | |
</ | </ | ||
+ | ====Nettoyage pour recommencer==== | ||
+ | <code bash> | ||
+ | bazel clean | ||
+ | </ | ||
====Installation==== | ====Installation==== | ||
- | cd / | ||
- | source mon_env/ | ||
- | python3 -m pip uninstall tensorflow | ||
- | python3 -m pip install / | ||
- | | ||
- | =====Avec GPU===== | ||
- | Ubuntu Mate 20.04, python 3.8, venv | ||
- | |||
- | ===Cuda=== | ||
- | * **[[compilation_de_oepncv_avec_cuda_sur_ubuntu|Installation de CUDA et Compilation de OpenCV avec CUDA]]** | ||
- | ===CudNN=== | ||
- | sudo apt install libcudnn8 libcudnn8-dev | ||
- | ===TensorRT=== | ||
- | sudo apt install libnvinfer8 libnvinfer8-dev | ||
- | | ||
- | ====Tensorflow==== | ||
<code bash> | <code bash> | ||
- | # Dépendances | + | cd / |
- | python3 -m pip install numpy wheel | + | source mon_env/ |
- | python3 -m pip install | + | python3 -m pip uninstall tensorflow |
- | + | python3 -m pip install /media/data/src/tensorflow-2.8.0-cp38-cp38-linux_x86_64.whl | |
- | # Récupération des sources de tensorflow | + | |
- | mkdir src | + | |
- | cd src/ | + | |
- | git clone https://github.com/ | + | |
- | cd tensorflow | + | |
- | ./configure | + | |
</ | </ | ||
- | + | ====Utilisation==== | |
- | + | Le message d'info AVX2 et FMA est toujours là ! | |
{{tag>ia linux python sb tensorflow}} | {{tag>ia linux python sb tensorflow}} |
linux_compiler_tensorflow_avec_bazel.1639658570.txt.gz · Dernière modification : 2021/12/16 12:42 de serge