TensorFlow 最新版のビルドとインストール(ソースコードを使用)(Ubuntu 上)
【目次】
【関連する外部ページ】 https://www.tensorflow.org/install/source
前準備
Ubuntu のシステム更新
Ubuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行する。これは、パッケージ情報を最新の状態に保ち、インストール済みのパッケージをセキュリティアップデートやバグ修正を含めて更新するためである。
# パッケージリストの情報を更新
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
NVIDIA ドライバ,NVIDIA CUDA ツールキット,NVIDIA cuDNN のインストール(Ubuntu 上,GPU 利用時)
GPU を使用しない場合,この手順は不要である.
TensorFlow 2.19 から 2.21 の GPU 版で動作確認済みの構成は,NVIDIA CUDA 12.5,NVIDIA cuDNN 9.3 である.TensorFlow 2.18 以降では,ビルド時に Bazel が CUDA, cuDNN のパッケージを自動的にダウンロードするため,ホスト側で必要なものは NVIDIA ドライバである.
Ubuntu での NVIDIA ドライバ,NVIDIA CUDA ツールキット,NVIDIA cuDNN のインストール: 別ページ »で説明
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
./configure の実行時に,clang の場所(例:/usr/lib/llvm-18/bin/clang)を指定する.
Python3 開発用ファイル,pip, setuptools, venv のインストール(Ubuntu 上)
Python のインストールは行わない(Ubuntu のシステム Python を用いる.)
- python3 (Ubuntu のシステム Python)
- pip3 (pip 3)
Ubuntu 23.04 以降では,システム Python への pip による直接のインストールが制限されている(PEP 668)ため,venv による仮想環境を用いる.
Ubuntu での Python 開発環境(JupyterLab, spyder, nteract)のインストール: 別ページ »で説明
Python3 開発用ファイル,pip, setuptools, venv のインストール
端末で,次のコマンドを実行する.
# パッケージリストの情報を更新
sudo apt update
sudo apt -y install python-is-python3 python3-dev python-dev-is-python3 python3-pip python3-setuptools python3-venv build-essential
Bazel のインストール
TensorFlow のビルドには,ソースコードの .bazelversion ファイルで指定されたバージョンの Bazel が必要である.Bazelisk を bazel という名前で PATH に置くと,指定されたバージョンの Bazel が自動的にダウンロードされて使用される.
【関連する外部ページ】 https://github.com/bazelbuild/bazelisk, https://bazel.build/install
端末で,次のコマンドを実行する.
sudo apt update
sudo apt -y install npm
sudo npm install -g @bazel/bazelisk
bazel --version
TensorFlow のビルドに必要な Python のパッケージのインストール
ビルド用の仮想環境を作成し,https://www.tensorflow.org/install/source に記載のパッケージをインストールする.
端末で,次のコマンドを実行する.
python3 -m venv ${HOME}/tfbuild
source ${HOME}/tfbuild/bin/activate
pip install -U pip numpy wheel packaging requests
TensorFlow 最新版のビルドとインストール
- TensorFlow 最新版のビルド(ソースコードを使用)
端末で,次のコマンドを実行する.
終了までしばらく待つ.
cd /tmp rm -rf tensorflow git clone https://github.com/tensorflow/tensorflow cd tensorflow PYTHON_BIN_PATH=${HOME}/tfbuild/bin/python3 ./configureCPU 版をビルドする場合
bazel build //tensorflow/tools/pip_package:wheel \ --repo_env=USE_PYWRAP_RULES=1 --repo_env=WHEEL_NAME=tensorflow_cpuGPU(NVIDIA CUDA)版をビルドする場合
bazel build //tensorflow/tools/pip_package:wheel \ --repo_env=USE_PYWRAP_RULES=1 --repo_env=WHEEL_NAME=tensorflow \ --config=cuda --config=cuda_wheelビルドはメモリを多く必要とする.メモリ不足で失敗する場合は,--local_ram_resources=2048 を付けて,Bazel が使用するメモリ量を制限する.
- ビルドした 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 - TensorFlow のバージョン確認
端末で,次のコマンドを実行する.
バージョン番号が表示されれば,インストールは成功である.python3 -c "import tensorflow as tf; print( tf.__version__ )" - GPU の認識の確認(GPU 版のとき)
端末で,次のコマンドを実行する.GPU のデバイス情報が表示されればよい.
python3 -c "import tensorflow as tf; print( tf.config.list_physical_devices('GPU') )" - 動作確認
Python プログラムの実行
- Windows では python (Python ランチャーは py)
- Ubuntu では python3
Python のまとめ: 別ページ »にまとめ
端末で,次のコマンドを実行して Python を起動する.
python3次の Python プログラムを実行する.TensorFlow 2 では Eager Execution が既定で有効であるため,計算結果を
numpy()で直接取得できる.import tensorflow as tf print(tf.add(1, 2).numpy()) hello = tf.constant('Hello, TensorFlow!') print(hello.numpy())