WindowsでAVX2を有効にしたtensorflowをbuildする

pythonでtensorflowを使用していると、下記の警告があった。

The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.

どうもtensor flowで拡張命令を有効にしたい場合は自力でTensor flowをビルドする必要があるようなので実施した。

Windows, CPU only, AVX2 でTensor Flow のビルド

Windows, AVX2命令を有効にしたTensor Flowは自前でビルドしないと生成できない。
下記の条件でビルドした。

  • windows 10
  • AVX2命令あり
  • CPU only GPUなし
  • cmake

事前準備

  • cmake : 3.11.1
  • swag : 3.0.12
  • python : 3.6
  • visual studio 2017

ビルド手順

  1. cloneする
  2. git clone git@github.com:tensorflow/tensorflow.git
    
  3. r1.8にチェックアウト
  4. git checkout r1.8
    
  5. 下記に/build ディレクトリを作成
  6. tensorflow/tensorflow/contrib/cmake/build
    
  7. 作成したbuildにてcmakeコマンドを実行
  8. cmake .. -A x64 -DCMAKE_BUILD_TYPE=Release \
     -DSWIG_EXECUTABLE=C:\swigwin-3.0.12\swig.exe \
     -Dtensorflow_BUILD_PYTHON_BINDINGS=ON -Dtensorflow_ENABLE_GRPC_SUPPORT=OFF \
     -Dtensorflow_ENABLE_GPU=OFF -DCUDNN_HOME="%CUDA_PATH%" \
     -Dtensorflow_WIN_CPU_SIMD_OPTIONS=/arch:AVX2
    

    GPU をoff, archにavx2を有効とする。

  9. buildする
  10. $ MSBuild /p:Configuration=Release tf_python_build_pip_package.vcxproj
    
  11. うまくビルドできれば.whlが生成される。
  12. \tensorflow\tensorflow\contrib\cmake\build\tf_python\dist\ tensorflow-1.8.0-cp36-cp36m-win_amd64.whl
    
  13. pipで生成したwhlを読み込み。
  14. pip install --upgrade "C:\tmp\tensorflow\tensorflow\contrib\cmake\build\tf_
    python\dist\tensorflow-1.8.0-cp36-cp36m-win_amd64.whl"
    
  15. pythonでtensor flowを実行する。下記が表示されなければ成功。
  16. The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
    

参考:

Author: admin

illmatic工業

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です