TensorFlow 2 のビルドとインストール(ソースコードを使用)(Ubuntu 上)

目次

  1. 前準備
  2. TensorFlow 2 のビルドとインストール

関連する外部ページhttps://www.tensorflow.org/install/source

前準備

Ubuntu のシステム更新

端末を開き,次のコマンドを実行する.

# パッケージリストの情報を更新
sudo apt update
# インストール済みのパッケージを更新(依存関係の変更も反映)
sudo apt -y full-upgrade

カーネルなどが更新された場合は再起動する.

sudo shutdown -r now

Git, cmake, curl, wget, p7zip-full のインストール(Ubuntu 上)

端末で,次のコマンドを実行する.

# パッケージリストの情報を更新
sudo apt update
sudo apt -y install git cmake cmake-curses-gui cmake-gui curl wget p7zip-full

C/C++ コンパイラと Make とビルドツールのインストール

端末で,次のコマンドを実行する.

# パッケージリストの情報を更新
sudo apt update
sudo apt -y install build-essential gcc g++ make libtool texinfo dpkg-dev pkg-config

Clang のインストール

TensorFlow 2.13 以降は,既定のコンパイラが Clang である.TensorFlow 2.19 から 2.21 では Clang 18 が動作確認済みの構成である.

端末で,次のコマンドを実行する.

# パッケージリストの情報を更新
sudo apt update
sudo apt -y install clang-18 llvm-18
clang-18 --version

Python3 開発用ファイル,pip, venv のインストール(Ubuntu 上)

端末で,次のコマンドを実行する.

# パッケージリストの情報を更新
sudo apt update
sudo apt -y install python3-dev python3-pip python3-setuptools python3-venv

Bazel のインストール

TensorFlow 2 のビルドには,ソースコードの .bazelversion ファイルで指定されたバージョンの Bazel が必要である.Bazeliskbazel という名前で PATH に置くと,必要なバージョンの Bazel が自動的にダウンロードされて使用される.

Bazel のインストール: 別ページ »で説明

TensorFlow 2 のビルドとインストール

  1. ソースコードの取得と設定

    端末で,次のコマンドを実行する../configure は,Python の場所や CUDA の使用の有無,使用するコンパイラなどを対話的に問い合わせる.

    cd /tmp
    rm -rf tensorflow
    git clone https://github.com/tensorflow/tensorflow.git
    cd tensorflow
    ./configure
    

    特定のバージョンをビルドする場合は,git clone の後にリリースブランチに切り替える.

    git checkout r2.20
    
  2. ビルド用の Python 仮想環境の作成と,ビルドに必要な Python パッケージのインストール

    Ubuntu 23.04 以降のシステム Python では,pip による直接のインストールが制限されている(PEP 668)ため,仮想環境を用いる.

    端末で,次のコマンドを実行する.

    python3 -m venv ${HOME}/tfbuild
    source ${HOME}/tfbuild/bin/activate
    pip install -U pip numpy wheel packaging requests
    
  3. pip パッケージ(wheel ファイル)のビルド

    端末で,次のコマンドを実行する.終了までしばらく待つ.

    CPU 版をビルインする場合

    cd /tmp/tensorflow
    bazel build //tensorflow/tools/pip_package:wheel \
      --repo_env=USE_PYWRAP_RULES=1 --repo_env=WHEEL_NAME=tensorflow_cpu
    

    GPU(NVIDIA CUDA)版をビルドする場合

    cd /tmp/tensorflow
    bazel build //tensorflow/tools/pip_package:wheel \
      --repo_env=USE_PYWRAP_RULES=1 --repo_env=WHEEL_NAME=tensorflow \
      --config=cuda --config=cuda_wheel
    

    メモリ不足でビルドが失敗する場合は,Bazel が使用するメモリ量を制限する.

    bazel build //tensorflow/tools/pip_package:wheel \
      --repo_env=USE_PYWRAP_RULES=1 --repo_env=WHEEL_NAME=tensorflow_cpu \
      --local_ram_resources=2048
    
  4. ビルドした wheel ファイルのインストール

    wheel ファイルは bazel-bin/tensorflow/tools/pip_package/wheel_house/ に生成される.ファイル名は,バージョン番号,Python のバージョン,プラットフォームによって異なる.

    端末で,次のコマンドを実行する.

    ls bazel-bin/tensorflow/tools/pip_package/wheel_house/
    pip install bazel-bin/tensorflow/tools/pip_package/wheel_house/tensorflow-*.whl
    
  5. バージョン確認

    端末で,次のコマンドを実行する.バージョン番号が表示されればインストールは成功である.

    python3 -c "import tensorflow as tf; print( tf.__version__ )"