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
- Python3.6 を install します。
- Python36, Python36/Scripts を path に追加しておきます。
- CUDA v10.0 install (https://developer.nvidia.com/cuda-downloads)
- cuDNN install (https://developer.nvidia.com/cudnn)
- pip3 install tensorflow-gpu
- 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
- ROCm
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