LoginSignup
28
31

More than 5 years have passed since last update.

TensorFlowをWindowsでビルドする

Last updated at Posted at 2016-11-05

※0.12から公式でWindowsビルドが提供されるようになりました!

Release 0.12.0/Major Features and Improvements

最近(たぶん2016/10ぐらいから)、TensorFlowがWindowsでビルドできるようになりました。
以下に、CMakeを利用したビルドの手順が公開されています(ただ、今後はbazelへ移行すると思われます)。

tensorflow/tensorflow/contrib/cmake/README.md

かなり丁寧に書かれているので、基本的にはこの通り行っていけばビルド、またPythonラッパーの生成を行いWindowsネイティブでPython x Tensorflowを使用することができます。
ただ、ビルドに結構時間がかかるので、手っ取り早く使いたい方は以下に私がビルドしたものを置いてありますので、使ってみてください。イントロダクションのコードが動くところまでは確認済みです。

icoxfog417/tensorflow-windows-build

なお、Windowsでのビルドは2016/11現在ではまだアルファ版の扱いであり、サポートされていない関数などもあるようです。そのため、通常使いとしてWindowsで運用するならbash on Windowsを利用して導入したほうが良いと思います(WindowsネイティブビルドができればGPUを使えるというメリットはありますが)。

ビルド環境

以下に、私がビルドした環境について記載しておきます。自分で試してみたい、という方はご参考ください。

  • Windows10(x64, Intel Core i7)
  • Python 3.5.2
    • Pythonはビルドの関係で、3.5系である必要がある
  • Visual Studio Community 2015
    • インストール時、Visual C++のオプションを選択しておく必要あり
  • cmake 3.6.3
    • 3.3.1だとなぜか途中でビルドエラーになる
  • numpy: 1.11.2
  • swig: 3.0.10
  • zlib: 1.2.8

miniconda/Anacondaを利用すると、ビルドのための環境を簡単に作成できます。

conda create -n tensorflow-win swig numpy zlib

ほんとはconda installcmakeも入るんですが、ここで入るcmakeのバージョンが3.3.1で、これだとビルドエラーが発生しました。そのため、cmakeについてはこちらから3.6系の最新版を落としてきて利用しました。ビルドのスクリプトは以下のような感じになります。

cmake .. -A x64 -DCMAKE_BUILD_TYPE=Release ^
-DSWIG_EXECUTABLE=<your_conda_env_path>\Library\bin\swig.exe ^
-DPYTHON_EXECUTABLE=<your_conda_env_path>\python.exe ^
-DPYTHON_LIBRARIES=<your_conda_env_path>\libs\python35.lib

※GPU版をビルドする場合、NVidia CUDA Toolkit 8.0とNVidia CUDNN 5.1が必要になります。これらを用意した後、以下のオプションを追加します。なお、MSBuildにあたってはこちらの修正を適応しておく必要があるので要注意。

More? -Dtensorflow_ENABLE_GPU=ON ^
More? -DCUDNN_HOME="<cudnn展開ディレクトリ>\cuda"

なお、ビルドにあたっては以下のリソースが必要です。

  • 2G程度のディスク容量(かなり食う)
  • 1 ~ 1.5 時間はビルドにかかる(8Gメモリ・Core i7)

ぜひWindowsでのTensorFlowライフに挑戦してみてください。

28
31
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
28
31