2017-02-02 13 views
3

私は、Python 2.7でtensorflowをインポートした後、次のコマンドを使用したよう: sess = tf.Session()TensorflowコンパイルはCPUの高速化

警告/エラー:

tensorflow /コア/プラットフォーム/ cpu_feature_guard.cc:45 ] TensorFlow ライブラリはSSE4.2命令を使用するためにコンパイルされませんでしたが、これらはユーザのマシンで利用可能な であり、CPU計算をスピードアップする可能性があります。

2017年2月2日00:41:48.616602: tensorflow /コア/プラットフォーム/ cpu_feature_guard.cc W:45] TensorFlow ライブラリーは、AVX命令を使用してコンパイルされていないが、これらはあなたのマシン上で利用可能 ですCPUの計算を高速化することができます。

2017年2月2日00:41:48.616614: tensorflow /コア/プラットフォーム/ cpu_feature_guard.cc W:45] TensorFlow ライブラリはAVX2命令を使用してコンパイルされますが、これらはあなたのマシン上で利用可能 ですいませんでしたCPUの計算を高速化することができます。

2017年2月2日00:41:48.616624: tensorflow /コア/プラットフォーム/ cpu_feature_guard.cc W:45] TensorFlow ライブラリーは、FMA命令を使用してコンパイルされていないが、これらはあなたのマシン上で利用可能 ですCPUの計算を高速化することができます。

私は最適なパワーで私のマシンを使用することがありますので、これを修正してください。

+0

こんにちは、どうやってテンソルフローをインストールしましたか? 'pip'を使って、あるいはソースからビルドしましたか? – Giridhur

+0

-march = nativeフラグを使用してソースからビルドする必要があります –

+0

@Gridhur私は、次のWebサイトで提供されている指示に従ってソースからビルドしました:[https://alliseesolutions.wordpress.com/2016/09/08/install -gpu-tensorflow-sources-w-ubuntu-16-04-and-cuda-8-0-rc /) – va4az

答えて

2

これらの警告は、ソースからTensorFlowをビルドした場合、マシン上でより高速に実行できることを示しています。これは問題ではなく、ユーザーにこの情報を提供するための動作であるため、修正はありません。

これらのCPU命令は、ほとんどのマシンとのより広い互換性を提供するために、デフォルトでは有効になっていませんでした。ドキュメントとして

は言う:それはCPU上で利用可能な最適化でコンパイルされているかどうか、起動時に

TensorFlowチェックを。最適化が含まれていない場合、TensorFlowは警告を出力します。 AVX、AVX2、およびFMA命令は含まれていません。

詳細については、Performance Guideを参照してください。

+0

@ Adriano、私はソースからビルドしました。 – va4az

+0

@ va4az TensorFlowを設定していたときに、どのフラグをデフォルト値にするかを指定するように指示されました.CPUがサポートする命令が有効になり、TensorFlowがそれを使ってビルドされます。または、利用可能なものを持っていないか、それらでビルドしていません。 'gcc -march = native -Qを使う--help = target | grep enable'を使用して最適化を有効にします。これらの命令でコンパイルする方法の詳細については、[この質問](http://stackoverflow.com/questions/41293077/how-to-compile-tensorflow-with-sse4-2-and-avx-instructions)を参照してください。 – Adriano

-1

これらの警告は、コンパイルされたコードがこれらの命令を使用しているわけではなく、すべてのCPUを使用していないことを示しています。保守担当者がリポジトリ用のコードをコンパイルするときには、そこにある大多数のCPUをサポートするようにコンパイルする必要があります。つまり、アーキテクチャ固有の命令を使用するようにコンパイラに指示します。

あなたが持っているすべての指示をパッケージで使用する場合は、自分でコンパイルするか、からインストールするとと呼ばれます。 hereの操作方法に関するドキュメントがあります。tensorflowをソースからコンパイルするのが快適な場合は、performance specific instructionsに行ってください。

しかし、現実世界のアプリケーションでは、実際にはGPUが必要な場合があります。これらのCPU命令はパフォーマンスを少し向上させますが、それはGPUを使用する場合に匹敵しません。