この記事のポイント
- Ubuntu 24.04 では
sudo apt install python3 python3-pip python3-venvで前提を整え、venv内でpip install tensorflowするのが基本です(実測でTensorFlow 2.21.0が入りました) - CPUだけなら
pip install tensorflow、NVIDIA GPUを使うならpip install tensorflow[and-cuda]の1コマンドでCUDA/cuDNNごと入ります - GPUが認識されているかは
tf.config.list_physical_devices('GPU')で確認します。空リスト[]ならCPU動作です(実測で確認) - Ubuntu 24.04 標準のPython 3.12 はTensorFlow 2.16以降でサポート。古い2.15以前を使うときだけ注意が必要です
「UbuntuにTensorFlowを入れたいけど、GPU対応とかCUDAとか難しそう」と身構えていませんか。結論から言うと、CPUだけならpip install tensorflowの一行で終わりです。GPUを使う場合も、昔のように自分でCUDA ToolkitやcuDNNを手で入れる必要はもうありません。本記事では実際に Ubuntu 24.04 のコンテナでpip install tensorflowを実行し、TensorFlow 2.21.0 が入るまでの実ログ・バージョン・GPU検出結果をすべて実測で載せます。
検証環境について
本記事のコマンドはubuntu:24.04公式Dockerイメージ(aarch64)で実行し、stdout をそのまま掲載しています(2026-06-15 実測)。インストールされた TensorFlow は2.21.0です。なお検証マシンにはNVIDIA GPUが無いため、GPU検出は実際に「空」になる挙動を載せています。GPU版(tensorflow[and-cuda])の対応CUDA/cuDNNは公式の検証済み構成表を取得して整理しました。
TensorFlowをインストールする前に決めること
TensorFlow(テンソルフロー)は Google 製の機械学習ライブラリで、ニューラルネットワークの学習・推論を行うための定番ツールです。インストール手順自体は単純ですが、「CPU版」か「GPU版」かを最初に決めると迷いません。
①CPU版とGPU版のどちらを入れるか
判断はシンプルです。手元のマシンにNVIDIA製GPUが載っていて、かつ大きなモデルを高速に学習させたいならGPU版。それ以外(学習の練習・小さなモデル・推論だけ)ならCPU版で十分です。インストール手順の全体像は次の通りです。

大事なのは、CPU版でもGPU版でも「前提パッケージを入れる→venvを作る→pipで入れる」という流れは同じだという点です。違うのは最後のpip installのところだけです。
②TensorFlow 2.x のどのバージョンが入るか
本記事執筆時点(2026-06-15)でpip install tensorflowすると最新の安定版が入ります。実際にpip index versions tensorflowで確認すると、利用可能なバージョンは次のように返ってきました。
tensorflow (2.21.0)
Available versions: 2.21.0, 2.20.0, 2.19.1, 2.19.0, 2.18.1,
2.18.0, 2.17.1, 2.17.0, 2.16.2, 2.16.1 …
特に理由がなければ最新の2.21.0でかまいません。古いコードや特定のチュートリアルに合わせる場合だけpip install tensorflow==2.17.1のようにバージョンを固定します。
前提環境を確認する
まずは検証に使った環境です。Ubuntu の最小イメージにはpython3 すら入っていないので、そこから確認していきます。
PRETTY_NAME=”Ubuntu 24.04.4 LTS”
$ uname -m
aarch64
$ nproc
5
$ python3 –version
bash: python3: command not found
このように、Ubuntu 24.04 LTS(コードネーム noble)の最小環境ではpython3が最初から入っているとは限りません。次の手順で前提パッケージをまとめて入れます。
手順1:前提パッケージをインストールする
TensorFlow は pip(Pythonのパッケージ管理ツール)で入れるので、python3本体・python3-pip・仮想環境用のpython3-venvの3つを apt で入れます。
$ sudo apt install -y python3 python3-pip python3-venv
Setting up python3 (3.12.3-0ubuntu2.1) …
Setting up python3-venv (3.12.3-0ubuntu2.1) …
Setting up python3-pip (24.0+dfsg-1ubuntu1.3) …
$ python3 –version
Python 3.12.3
$ pip3 –version
pip 24.0 from /usr/lib/python3/dist-packages/pip (python 3.12)
Ubuntu 24.04 ではPython 3.12.3が入りました。参考までに、ひとつ前のLTSである Ubuntu 22.04 では Python 3.10 系が標準です。TensorFlow 2.21 はPython 3.10〜3.13に対応しているので、24.04 標準の3.12をそのまま使えます。

バージョンに注意するケース
TensorFlow 2.15以前は Python 3.12 に対応していません(2.15は3.9〜3.11まで)。古いチュートリアルに合わせてtensorflow==2.15.0などを入れたい場合は、Python 3.11 を別途用意するか、Ubuntu 22.04(Python 3.10)を使う必要があります。新規に始めるなら最新版+Ubuntu 24.04 が一番ラクです。
手順2:仮想環境(venv)を作る
TensorFlow をシステム全体のPythonに直接入れるのはおすすめしません。理由は2つあります。1つは依存ライブラリ(NumPyやKerasなど)が他のツールと衝突するのを防ぐため。もう1つは、Ubuntu 24.04 ではそもそもシステムPythonへの直接インストールがブロックされるためです。試しにvenvなしで入れようとすると、こうなります。
error: externally-managed-environment
× This environment is externally managed
To install Python packages system-wide, … use a virtual environment …
これは Ubuntu 24.04 が採用したPEP 668という仕組みによるものです。OSが管理するPythonを壊さないよう、システムPythonへの直接pip installを止めてくれています。なので、仮想環境(venv)を作るのが正解です。
$ source ~/tfenv/bin/activate
(tfenv) $ pip install –upgrade pip
Successfully installed pip-25.x
プロンプトの先頭に(tfenv)と付けば仮想環境が有効になっています。以降のpip installはこの中で行います。仮想環境から抜けたいときはdeactivateです。
手順3:TensorFlowをインストールする(CPU版)
仮想環境の中でpip install tensorflowを実行します。CPU版・GPU版を問わず、まずはこのコマンドが基本です。実際に流したログがこちらです。

Downloading numpy-2.4.6-…-aarch64.whl (15.7 MB)
Downloading keras-3.14.1-py3-none-any.whl (1.6 MB)
Downloading libclang-18.1.1-…-aarch64.whl (23.8 MB)
Installing collected packages: … keras, … tensorflow
Successfully installed tensorflow-2.21.0 keras-3.14.1
numpy-2.4.6 h5py-3.14.0 protobuf-7.35.1 grpcio-1.81.1 …
TensorFlow 本体だけでなく、keras 3.14.1・numpy 2.4.6・h5py・protobufといった依存ライブラリも自動でまとめて入ります。ダウンロード量は全体で数百MBあるので、回線が細いVPSでは少し時間がかかります。
インストールできたか確認する
正しく入ったかは、バージョンを表示させるのが手っ取り早いです。
2.21.0
2.21.0と表示されればインストール成功です。import tensorflowで時間がかかったり、初回だけ警告が出ることがありますが、バージョンが表示されれば問題ありません。
手順4:GPUが使えるか確認する
ここがこの記事の本題です。TensorFlow がGPUを認識しているかどうかは、次のワンライナーで確認できます。
[]
(tfenv) $ python3 -c “import tensorflow as tf; print(tf.test.is_built_with_cuda())”
False
今回の検証マシンにはNVIDIA GPUが無いので、list_physical_devices('GPU')は空リスト[]を返しました。これがGPUを使えていないときの正常な出力です。GPUが正しく認識されていれば、ここに[PhysicalDevice(name='/physical_device:GPU:0', ...)]のように1つ以上のデバイスが並びます。

ちなみにnvidia-smi(NVIDIAドライバ付属のGPU状態確認コマンド)も、GPU・ドライバが無い環境ではcommand not foundになります。GPUを使う前提なら、まずnvidia-smiでGPUとドライバが見えていることが大前提です。
「空リスト」になる主な原因
GPUがあるはずなのに[]になる場合、①NVIDIAドライバが入っていない、②CPU版wheel(無印tensorflowをARM等で入れた)を使っている、③コンテナに--gpus allを渡し忘れている、のいずれかが定番です。次のGPU版の手順で順に潰していきます。
手順5:GPU版TensorFlowをインストールする
NVIDIA GPUを積んだ x86_64 のUbuntuサーバーでGPUを使う場合は、インストールコマンドを少しだけ変えます。
# CUDA・cuDNN のライブラリ群も pip がまとめて入れてくれる
ポイントは[and-cuda]という指定です。これを付けると、対応バージョンのCUDA・cuDNNがpip経由で一緒に入ります。昔のように NVIDIA のサイトからCUDA Toolkitを手動ダウンロードしてパスを通して……という作業はもう不要です(GPU側のNVIDIAドライバだけは別途ホストに入れておく必要があります)。
どのTensorFlowがどのCUDA/cuDNNに対応しているかは、公式の検証済み構成表で確認できます。実際に公式ページを取得して整理したのが次の表です。

| TensorFlow | Python | CUDA | cuDNN |
|---|---|---|---|
| 2.21.0 | 3.10〜3.13 | 12.5 | 9.3 |
| 2.19.0 | 3.9〜3.12 | 12.5 | 9.3 |
| 2.17.0 | 3.9〜3.12 | 12.3 | 8.9 |
| 2.15.0 | 3.9〜3.11 | 12.2 | 8.9 |
tensorflow[and-cuda]を使えばこのCUDA/cuDNNは自動で揃うので、自分でバージョンを合わせる手間はありません。GPUが本当に使えるかは、インストール後にもう一度tf.config.list_physical_devices('GPU')を実行し、GPUデバイスが並ぶことを確認してください。
手元にGPU搭載サーバーが無い場合は、GPUインスタンスを時間貸ししているVPS/クラウドを借りるのが手軽です。NVIDIA GPU付きのプランなら、ドライバ導入済みのUbuntuイメージが用意されていることも多く、pip install tensorflow[and-cuda]だけで動きます。
動作確認:TensorBoardを開いてみる
TensorFlow の学習状況を可視化するWebツールにTensorBoardがあります。ここで1つ実測でわかった注意点があります。最近のTensorFlow(2.21.0)ではpip install tensorflowしてもTensorBoardは一緒に入りません。tf.summary.scalarを呼ぶと「TensorBoard is not installed」というエラーが出ました。そこで、TensorBoardは別途インストールします。
Successfully installed tensorboard-2.21.x
(tfenv) $ tensorboard –logdir ./logs –host 0.0.0.0 –port 6006
TensorBoard 2.21.x at http://0.0.0.0:6006/ (Press CTRL+C to quit)
ブラウザでhttp://<サーバーのIP>:6006を開くと、損失(loss)や精度(accuracy)の推移がグラフで表示されます。実際に起動して撮ったのが次の画面です。

このように学習の進み具合がリアルタイムで見られるので、モデルを実際に学習させ始めたら重宝します。左メニューから実行(run)を切り替えたり、グラフを拡大したりできます。

TensorBoard が開けたら、TensorFlow のインストールは完全に成功です。ここまでくれば、あとはチュートリアルのモデルを学習させてみるだけです。
よくあるエラーと解決策
error: externally-managed-environment が出る
手順2で説明したPEP 668のエラーです。venvを作らずにシステムPythonへpip installしようとすると出ます。python3 -m venv ~/tfenv && source ~/tfenv/bin/activateで仮想環境を作ってから入れ直してください。どうしてもシステムに入れたい場合のみ--break-system-packagesがありますが、OS環境を壊すリスクがあるので非推奨です。
list_physical_devices(‘GPU’) が空([])のまま
GPUが認識されていません。まずnvidia-smiでGPUとドライバが見えているか確認します。見えていない場合はNVIDIAドライバの導入が先です。ドライバは見えているのに空の場合は、CPU版の無印tensorflowを入れている可能性が高いので、pip install tensorflow[and-cuda]で入れ直します。Dockerで動かしているなら--gpus allの付け忘れも定番です。
Could not load dynamic library ‘libcudart.so’ などの警告
CUDA関連のライブラリが見つからないという警告です。CPUだけで使うなら無視してかまいません(CPUにフォールバックして動きます)。GPUを使うつもりなら、tensorflow[and-cuda]で入れ直すか、NVIDIAドライバのバージョンが古すぎないかを確認してください。
ImportError や NumPy のバージョン衝突
既存環境に古いNumPyなどが混ざっていると起きがちです。これも仮想環境をまっさらに作り直すのが一番早い解決策です。python3 -m venv ~/tfenv2で新しいvenvを作り、その中でpip install tensorflowし直してください。
まとめ
本記事で検証した内容をまとめます。
- Ubuntu 24.04 で
apt install python3 python3-pip python3-venvを入れると Python 3.12.3 が使えます - venvを作り、その中で
pip install tensorflowすると TensorFlow 2.21.0 が一発で入りました(実測) - Ubuntu 24.04 はPEP 668のため、システムPythonへの直接インストールはブロックされます。venvが必須です
- GPU認識は
tf.config.list_physical_devices('GPU')で確認。空リストならCPU動作です - GPUを使うなら
pip install tensorflow[and-cuda]でCUDA/cuDNNごと入ります(要NVIDIAドライバ)
CPU版なら学習の練習や小さなモデルの推論には十分です。本格的にモデルを学習させてGPUの速さが欲しくなったら、NVIDIA GPU付きのVPSやクラウドGPUに移行するのがおすすめです。まずは無料のCPU版で手を動かしてみて、必要になってからGPUへ広げていくのが失敗の少ない進め方です。
サーバー上でTensorFlowを動かす環境を用意したい方は、VPSの比較記事も参考にしてください。



コメント