Correction: votre processeur prend en charge les instructions indiquant que ce fichier binaire TensorFlow n'a pas été compilé pour utiliser AVX2

Les extensions vectorielles avancées ( AVX, également appelées nouvelles extensions Sandy Bridge ) sont des extensions de l'architecture de jeu d'instructions x86 pour microprocesseurs d'Intel et AMD proposées par Intel en mars 2008 et initialement prises en charge par Intel avec le processeur Sandy Bridge expédié à partir du premier trimestre 2011. AMD avec le processeur Bulldozer expédié au troisième trimestre de 2011. AVX fournit de nouvelles fonctionnalités, de nouvelles instructions et un nouveau schéma de codage.

L'avertissement est affiché en cmd

Ce message d'avertissement est imprimé par la bibliothèque partagée de TensorFlow. Comme le message l'indique, la bibliothèque partagée n'inclut pas le type d'instructions que votre CPU pourrait utiliser.

Quelles sont les causes de cet avertissement?

Après TensorFlow 1.6, les fichiers binaires utilisent maintenant des instructions AVX qui ne s'exécutent peut-être plus sur les anciens processeurs. Ainsi, les anciens processeurs ne pourront pas utiliser AVX, tandis que pour les plus récents, l'utilisateur doit créer le tensorflow à partir de la source pour leur processeur. Vous trouverez ci-dessous toutes les informations dont vous avez besoin concernant cet avertissement. En outre, une méthode pour se débarrasser de cet avertissement pour une utilisation future.

Que fait l'AVX?

En particulier, l’AVX a introduit le FMA (Fused Multiply Add); qui est l'opération de multiplication-addition à virgule flottante, opération qui se fait en une seule étape. Cela aide à accélérer de nombreuses opérations sans aucun problème. Cela rend le calcul algébrique plus rapide et facile à utiliser, ainsi que le produit scalaire, la multiplication matricielle, la convolution, etc. Ce sont toutes les opérations les plus utilisées et les plus élémentaires pour chaque apprentissage en machine-learning. Les processeurs prenant en charge l’AVX et le FMA seront beaucoup plus rapides que les anciens. Mais l'avertissement indique que votre processeur prend en charge AVX, donc c'est un bon point.

Technologie Intel AVX

Pourquoi n'est-il pas utilisé par défaut?

En effet, la distribution par défaut de TensorFlow est construite sans les extensions de processeur. Par extensions de processeurs, il est indiqué AVX, AVX2, FMA, etc. Les instructions qui déclenchent ce problème ne sont pas activées par défaut sur les versions disponibles par défaut. La raison pour laquelle ils ne sont pas activés est de rendre cela plus compatible avec autant de processeurs que possible. Également, pour comparer ces extensions, leur processeur est beaucoup plus lent que le processeur graphique. Le processeur est utilisé sur l'apprentissage machine à petite échelle, tandis que l'utilisation du GPU est prévue lorsqu'il est utilisé pour une formation à l'apprentissage machine à moyenne ou grande échelle.

Résoudre l'avertissement!

Ces avertissements ne sont que des messages simples. Le but de ces avertissements est de vous informer sur le TensorFlow construit à partir de la source. Lorsque vous construisez le TensorFlow à partir de la source, cela peut être plus rapide sur la machine. Tous ces avertissements vous parlent donc de la compilation de TensorFlow à partir des sources.

Si vous avez un GPU sur votre ordinateur, vous pouvez alors ignorer ces avertissements du support AVX. Parce que les plus chers seront envoyés sur un périphérique GPU. Et si vous ne voulez plus voir cette erreur, vous pouvez simplement l'ignorer en ajoutant ceci:

importer le module de système d'exploitation dans le code de votre programme principal et définir également l'objet de mappage correspondant

 # Pour désactiver l'avertissement d' importation os os.environ ['TF_CPP_MIN_LOG_LEVEL'] = '2' 

Mais si vous êtes sous Unix, utilisez la commande export dans le shell bash

 export TF_CPP_MIN_LOG_LEVEL = 2 

Mais si vous n'avez pas de GPU et que vous souhaitez utiliser votre processeur autant que possible, vous devez créer TensorFlow à partir de la source optimisée pour votre processeur avec AVX, AVX2 et FMA activés ici.

Des Articles Intéressants