web-dev-qa-db-fra.com

Instructions de la CPU non compilées avec TensorFlow

MacBook Air: OSX El Capitan

Lorsque j'exécute le code TensorFlow dans le terminal (python 3 tfpractice.py), le temps d'attente pour récupérer le résultat est plus long que la normale, suivi des messages d'erreur suivants: 

W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations. W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations. W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations. W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations. W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.

Je ne sais pas comment résoudre ce problème. J'aimerais que TensorFlow travaille uniquement sur cette installation pip3. J'ai donc suivi le chemin vers: tensorflow/core/platform/cpu_feature_guard

Dois-je modifier le code ici? Ou existe-t-il un autre moyen de faire compiler TensorFlow avec ces instructions?

J'ai installé TensorFlow en utilisant Sudo pip3 install tensorflow.

6
Fizics

Ce sont des avertissements qui signifient qu'il peut être plus rapide de générer du tensorflow sur votre PC à partir des sources.

Toutefois, si vous souhaitez les désactiver, vous pouvez utiliser le code ci-dessous.

import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
import tensorflow as tf

cela devrait faire taire les avertissements. 'TF_CPP_MIN_LOG_LEVEL' représente la variable d'environnement Tensorflow responsable de la consignation. Aussi, si vous êtes sur Ubuntu, vous pouvez utiliser ce code ci-dessous

export TF_CPP_MIN_LOG_LEVEL=2 

J'espère que ça aide.

4

Vous pouvez aussi compiler en utilisant bazel avec des arguments opt:

bazel build -c opt --copt=-mavx --copt=-mavx2 --copt=-mfma --copt=-msse4.1 --copt=-msse4.2 //tensorflow/tools/pip_package:build_pip_package

Je pense que vous pouvez trouver quelque chose dans cette discussion: Comment compiler Tensorflow avec les instructions SSE4.2 et AVX?

Bonne chance!

2
Tai Christian