Résoudre l'erreur Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2

Résoudre l'erreur Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2 L'erreur indique que votre processeur est capable d'utiliser des instructions AVX et AVX2 mais que TensorFlow n'a pas été compilé pour avoir la capacité de demander à votre processeur de s'en servir

L'outil d'apprentissage automatique TensorFlow fait appel à énormément de ressources système pour son fonctionnement. Le message "Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2" indique que votre processeur est capable d'utiliser des instructions AVX et AVX2 mais que TensorFlow n'a pas été compilé pour avoir la capacité de demander à votre processeur de s'en servir (consulter également le tutoriel Comment savoir quelle version de TensorFlow est installée sur mon OS ?)..

Ce message n'empêche pas TensorFlow de fonctionner, il signifie seulement que l'outil ne peut pas exploiter pleinement votre processeur. Par défaut, l'installation de TensorFlow est pensée pour être compatible avec le plus de processeurs possible et les instructions AVX et AVX2 sont exclues dans ce but. Ces instructions sont également exclues car l'outil est pensé pour être lancé à partir de machines relativement performantes, c'est-à-dire généralement équipées d'un GPU (processeur graphique). Ces instructions sont exécutées plus rapidement avec un GPU qu'un CPU. La méthode pour gérer ce message dépend donc du fait que vous possédiez un processeur graphique sur votre machine ou non.

Si votre machine possède un GPU, vous pouvez ignorer ce message et continuer à utiliser TensorFlow normalement. Pour désactiver le message d'erreur, il suffit d'ajouter les instructions suivantes au début de votre script :

import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

Si vous travaillez avec un système d'exploitation de la famille Unix (Linux, Mac…), vous pouvez également supprimer ce message d'erreur pour tous vos projets avec la commande suivante :

export TF_CPP_MIN_LOG_LEVEL=2

Si vous ne possédez pas de GPU, alors il peut être utile d'activer la prise en charge des instructions AVX et AVX2 par votre processeur car cela va permettre d'accélérer l'outil TensorFlow. Vous devez construire une version de TensorFlow adaptée à votre processeur. Il faut utiliser l'outil de construction et test de logiciel Bazel, disponible sur ce site. La manipulation est plutôt destinée aux utilisateurs avertis, il faut bien se documenter. De cette manière, le message d'erreur n'apparaîtra plus lors de l'utilisation de TensorFlow et les performances de l'outil seront améliorées.