ユーザ用ツール

サイト用ツール


ai:tensorflow

TensorFlow

Platform GPU/NPU
Windows CUDA
Linux CUDA, ROCm
macOS
Raspberry Pi
Jetson Nano CUDA
Cloud CUDA, TPU
High Level API Low Level API
Python (Keras) Python, JavaScript, C, C++

Keras の backend として利用できます。 また TensorFlow 自体にも Keras が統合されています。

  • default では画像フォーマットが他のフレームワークと異なり channels_last (NHWC) になっています。
    • channels_first (NCHW) の方が GPU 上では高速です。
    • CPU ではデフォルトでは channels_first (NCHW) が利用できません。channels_first に対応するには MKL を有効にしてビルドし直す必要があります。

Windows

C++ API ライブラリは直接バイナリ配布ではサポートされていません。 Source から build する必要があります。

C API ライブラリのバイナリは下記の場所からダウンロードできます。

Python

  1. Python3.6 を install します。
    • Python36, Python36/Scripts を path に追加しておきます。
  2. pip3 install tensorflow-gpu
  3. pip3 install keras pillow

Source からの build 手順

  • cmake を使う方法と bazel を使う方法があります。公式サイトのビルド手順では bazel を使用しています。

CMake の場合 (古い Version 時の情報です)

  • Windows による build memo
  • r1.9 で確認。r1.10,r1.11,r1.12 ではビルド失敗。
  • (1) 事前に python3.6, git, cmake を install しておきます。
    • Python36, Python36/Scripts, cmake/bin を path に追加します。
  • (2) source を download し、cmake を実行します。
git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow
git checkout r1.9
cd tensorflow/contrib/cmake
mkdir build
cd build
cmake .. -Thost=x64 -G "Visual Studio 14 2015 Win64" -DCMAKE_BUILD_TYPE=Release -Dtensorflow_ENABLE_GPU=ON -Dtensorflow_WIN_CPU_SIMD_OPTIONS=/arch:AVX2 -Dtensorflow_BUILD_PYTHON_BINDINGS=OFF -Dtensorflow_ENABLE_GRPC_SUPPORT=ON -DCUDNN_HOME="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.0" -Dtensorflow_BUILD_SHARED_LIB=ON
start tensorflow.sln
  • (3) VisualStudio が起動するので、Config Release, x64 を選択し ALL_BUILD を build します。
    • 4~6 時間かかります。
      • Ryzen 7 1800X 4時間前後
      • Core i7-6700K 6時間前後

Linux

CUDA (GeForce) 及び ROCm (RADEON) が利用できます。

Python

$ sudo apt install python3-pip python3-venv
$ pip3 install tensorflow-gpu

Source からビルド

bazel を使います。 CPU または CUDA を使う場合は、公式サイト通りの手順でビルド可能です。 ROCm 対応版は専用のリポジトリから取得してください。

  • C API 向けのビルドで 1時間くらいかかります。
  • C++ API はヘッダの収集やライブラリのリンクが難しいので C API の方がおすすめです。

とりあえず確認したもの

  • 公式版 r1.14 CUDA C API, CPU + MKL C API
  • ROCm 版 r1.14-rocm C API
ai/tensorflow.txt · 最終更新: 2019/09/07 19:38 by oga