Outils pour utilisateurs

Outils du site


linux_compiler_tensorflow_avec_bazel

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
linux_compiler_tensorflow_avec_bazel [2021/12/16 15:33] sergelinux_compiler_tensorflow_avec_bazel [2021/12/20 11:13] (Version actuelle) – [La version Intel de Tensorflow] serge
Ligne 12: Ligne 12:
 </code> </code>
  
-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 Warningmais ce n'est pas forcément vrai !\\ 
 +Mon FPS a augmenté de 10 à 20 % :-P
  
 +**Il est inutile de compiler** 8-)
 =====Ressources===== =====Ressources=====
   * **[[https://www.tensorflow.org/install/source|Compiler à partir de la source]]**   * **[[https://www.tensorflow.org/install/source|Compiler à partir de la source]]**
-  * **[[https://docs.bazel.build/versions/main/install-ubuntu.html|Installing Bazel on Ubuntu]]** +  * **[[https://www.intel.com/content/www/us/en/developer/articles/guide/optimization-for-tensorflow-installation-guide.html|Build TensorFlow from Source with Intel oneAPI oneDNN library]]**
-  * **[[https://technofob.com/2019/06/14/how-to-compile-tensorflow-2-0-with-avx2-fma-instructions-on-mac/|How to fix Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA]] ** on-mac+
  
 +Sur les internets, ça en cause:
 +  * https://docs.bazel.build/versions/main/install-ubuntu.html
 +  * https://technofob.com/2019/06/14/how-to-compile-tensorflow-2-0-with-avx2-fma-instructions-on-mac
   * https://github.com/tensorflow/tensorflow/issues/7660   * https://github.com/tensorflow/tensorflow/issues/7660
-  * https://gist.github.com/bzamecnik/22340d5ba463eb25fd859f1bda3ab530 
   * https://ai-pool.com/d/proper-way-to-compile-tensorflow-with-sse4-2-and-avx   * https://ai-pool.com/d/proper-way-to-compile-tensorflow-with-sse4-2-and-avx
   * https://github.com/GTGraphics3/tensorflow-1.4.2-AVX-MKL   * https://github.com/GTGraphics3/tensorflow-1.4.2-AVX-MKL
-  * https://stackoverflow.com/questions/41293077/how-to-compile-tensorflow-with-sse4-2-and-avx-instructions 
-  * https://www.intel.com/content/www/us/en/developer/articles/guide/optimization-for-tensorflow-installation-guide.html 
  
 =====Installation de Bazel===== =====Installation de Bazel=====
Ligne 39: Ligne 41:
  
 =====Sans GPU sur Debian===== =====Sans GPU sur Debian=====
-Désinstaller les packages python protobuf et tensorflow si ils sont installés.+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 
 +... 
 +</code> 
 +Installation du nécessaire: 
 +<code bash> 
 +python3 -m pip install numpy wheel protobuf 
 +python3 -m pip install keras_preprocessing --no-deps 
 +</code>
  
-Installation du nécessaire: 
-  python3 -m pip install numpy wheel 
-  python3 -m pip install keras_preprocessing --no-deps 
-   
 Récupération des sources de tensorflow: Récupération des sources de tensorflow:
-  cd /votre/dossier/src +<code bash> 
-  git clone https://github.com/tensorflow/tensorflow  +cd /votre/dossier/src 
-  ./configure+git clone https://github.com/tensorflow/tensorflow  
 +./configure 
 +</code>
  
 Cela génère un fichier .tf_configure.bazelrc dans le dossier tensorflow (c'est un fichier caché: Ctrl+h).\\ Cela génère un fichier .tf_configure.bazelrc dans le dossier tensorflow (c'est un fichier caché: Ctrl+h).\\
Ligne 69: Ligne 80:
  
 ====Compilation de tensorflow==== ====Compilation de tensorflow====
-  sudo ln -s /usr/bin/python3 /usr/bin/python 
-  bazel build -j 4 //tensorflow/tools/pip_package:build_pip_package 
-  ./bazel-bin/tensorflow/tools/pip_package/build_pip_package /media/data/tensorflow_pkg 
- 
-INFO: Elapsed time: 11341.078s, Critical Path: 1101.95s\\ 
-INFO: 11460 processes: 1325 internal, 10135 local.\\ 
-INFO: Build completed successfully, 11460 total actions\\ 
-soit 3.1 heures ! 
- 
-====Nettoyage pour recommencer==== 
-  bazel clean 
-   
-=====Test spécial===== 
 <code bash> <code bash>
-build --action_env PYTHON_BIN_PATH="/usr/bin/python3+sudo ln -/usr/bin/python3 /usr/bin/python 
-build --action_env PYTHON_LIB_PATH="/usr/lib/python3/dist-packages" +bazel build -j 4  --copt=-mavx2 --copt=-mfma  //tensorflow/tools/pip_package:build_pip_package 
-build --python_path="/usr/bin/python3" +./bazel-bin/tensorflow/tools/pip_package/build_pip_package /media/data/tensorflow_pkg
-build:opt --copt=-march=native +
-build:opt --host_copt=-march=native +
-test --flaky_test_attempts=3 +
-test --test_size_filters=small,medium +
-test:v1 --test_tag_filters=-benchmark-test,-no_oss,-gpu,-oss_serial +
-test:v1 --build_tag_filters=-benchmark-test,-no_oss,-gpu +
-test:v2 --test_tag_filters=-benchmark-test,-no_oss,-gpu,-oss_serial,-v1only +
-test:v2 --build_tag_filters=-benchmark-test,-no_oss,-gpu,-v1only+
 </code> </code>
  
-  bazel build -j 4  --copt=-mavx2 --copt=-mfma  //tensorflow/tools/pip_package:build_pip_package+===Consommation 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.
  
 +===Stop et reprise===
 +Bazel reprend là où il s'est arrêté.  Pour nettoyer avant de reprendre: bazel clean
  
-===Consommation mémoire=== +===Success=== 
-Sur un i5 à 8 threads et 8 Go de Ram-j 4 pour limiter la consommation de mémoire+<code bash> 
 +INFOElapsed time: 19106.040s, Critical Path: 196.86s 
 +soit 5.3 heures, perso je trouve 7 heures! 
 +INFO: 11460 processes: 1325 internal, 10135 local. 
 +INFO: Build completed successfully, 11460 total actions 
 +</code>
  
-====Conseils Geek==== +====Nettoyage pour recommencer====
-Au lieu de répondre aux questions de ./configure, éditer le fichier **.tf_configure.bazelrc** du dossier tensorflow (fichier caché, faire Ctrl+h).+
 <code bash> <code bash>
-build --action_env PYTHON_BIN_PATH="/usr/bin/python3" +bazel clean
-build --action_env PYTHON_LIB_PATH="/usr/lib/python3/dist-packages" +
-build --python_path="/usr/bin/python3" +
-build:opt --copt=-march=native +
-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,-no_oss,-gpu,-oss_serial +
-test:v1 --build_tag_filters=-benchmark-test,-no_oss,-gpu +
-test:v2 --test_tag_filters=-benchmark-test,-no_oss,-gpu,-oss_serial,-v1only +
-test:v2 --build_tag_filters=-benchmark-test,-no_oss,-gpu,-v1only+
 </code> </code>
- 
  
 ====Installation==== ====Installation====
-  cd /media/data/3D/projets/grande_echelle_move +<code bash> 
-  source mon_env/bin/activate +cd /media/data/3D/projets/grande_echelle_move 
-  python3 -m pip uninstall tensorflow +source mon_env/bin/activate 
-  python3 -m pip install /media/data/src/tensorflow-2.8.0-cp38-cp38-linux_x86_64.whl +python3 -m pip uninstall tensorflow 
-  +python3 -m pip install /media/data/src/tensorflow-2.8.0-cp38-cp38-linux_x86_64.whl 
 +</code> 
 + 
 +====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.1639668789.txt.gz · Dernière modification : 2021/12/16 15:33 de serge