TensorFlow — Googleの総合MLフレームワーク
GoogleのオープンソースMLフレームワーク。TensorFlow 2.21(2026年3月)、~197kスター、Apache 2.0。Eager実行、Keras、TPU対応、エンドツーエンドのエコシステム。
TensorFlowはGoogleのオープンソース機械学習フレームワーク — データ読み込み、モデル訓練、本番デプロイまでをカバーするエンドツーエンドのプラットフォーム。2015年11月9日にGoogle Brainチームが初公開。Python、C++、CUDAで記述。最新リリース:2.21.0(2026年3月)、~197k GitHubスター、Apache 2.0ライセンス。
TensorFlowの独自性#
TensorFlowは単なる訓練ライブラリではありません — エコシステムそのものです:
| コンポーネント | 役割 |
|---|---|
| コアフレームワーク | テンソル演算、eager実行、XLAコンパイラ |
| Keras | 高レベルモデル構築API |
| tf.data | スケーラブルなデータパイプライン |
| TensorFlow Serving | 本番モデルサービング(REST/gRPC) |
| LiteRT | オンデバイス推論(モバイル、組込み) |
| TensorFlow.js | ブラウザ内ML(WebGPU/WASM) |
| TFX | エンドツーエンドの本番MLパイプライン |
| XLA | GPU/TPU向けグラフコンパイラ |
中核となる概念#
テンソル#
すべてはテンソル — 多次元配列です:
import tensorflow as tf
x = tf.constant([[1, 2], [3, 4]], dtype=tf.float32)
y = tf.matmul(x, x) # 行列積
print(y.shape) # (2, 2)pythonEager実行#
TF 2.xはデフォルトで操作をeager実行(通常のPythonのよう)— デバッグが容易。静的グラフAPIはレガシーコード用にtf.compatにあります。
XLAコンパイラ#
@tf.function(jit_compile=True)
def compute(x, w):
return tf.matmul(x, w)pythontf.functionはコードをグラフにトレースし、XLA(Accelerated Linear Algebra)がGPU/TPU向けにコンパイル・融合します — 計算負荷の高いモデルでしばしば5-50倍の高速化。
歴史#
| バージョン | 年 | 変更 |
|---|---|---|
| TF 1.x | 2015 | 静的計算グラフ、session.run() |
| TF 2.0 | 2019 | eager実行がデフォルト、Kerasを統合 |
| TF 2.16-2.20 | 2024-2025 | Keras 3バックエンド、Python 3.13対応 |
| TF 2.21 | 2026年3月 | 最新の安定版 |
はじめに#
pip install tensorflow # CPU + GPU(NVIDIA CUDA)
pip install tensorflow-cpu # CPUのみ、はるかに小さいbashimport tensorflow as tf
from tensorflow import keras
# データ読み込み
(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()
# モデル構築
model = keras.Sequential([
keras.layers.Flatten(input_shape=(28, 28)),
keras.layers.Dense(128, activation="relu"),
keras.layers.Dense(10, activation="softmax"),
])
# 訓練
model.compile(optimizer="adam", loss="sparse_categorical_crossentropy",
metrics=["accuracy"])
model.fit(x_train, y_train, epochs=5, validation_split=0.2)
# 保存
model.save("mnist.keras")pythonGPU・TPUサポート#
- GPU: NVIDIA CUDAを標準サポート。DirectXとmacOS Metalはデバイスプラグイン経由
- TPU: TensorFlowはGoogle TPU(Tensor Processing Unit)のリファレンスフレームワーク — XLAはそのために作られました。ここではTensorFlowがPyTorchを大きくリード
- 分散訓練:
tf.distribute(MirroredStrategy、MultiWorkerMirroredStrategy、TPUStrategy)
誰が使っているか#
- YouTubeのレコメンドエンジン
- Waymoの自動運転車両
- Google規模のTPU訓練(GeminiはJAX + TensorFlowの組み合わせで訓練)
- TFX + TensorFlow Servingに依存する大規模な本番スタック
強みと弱み(2026年)#
強み:
- 成熟した本番エコシステム(Serving、TFX、LiteRT)— 世界で最も展開されているMLランタイム
- 最高水準のTPUサポートとXLAの成熟度
- Keras 3によりモデルをPyTorchやJAXバックエンドでも実行可能
- 197kスター、Google支援、大規模なメンテナンス体制
弱み:
- 研究シェアを失いつつある — PyTorchが論文の55%超
- Hugging FaceツールはPyTorch優先。TFチェックポイントは自動変換が一般的
- レガシーな静的グラフAPIの複雑さが残る
- Python APIのインストールが大容量(GPU wheel約570 MB)
まとめ#
TensorFlowは本番の主力であり続けます:世界最大級のMLシステムを動かし、モバイル(LiteRT)、ブラウザ(TF.js)、TPUの領域を独占。新しい研究にはPyTorchが支配的。しかしGoogle Cloud、TPU、オンデバイス、大規模サービングにはTensorFlowが依然として最も安全な選択 — しかもKeras 3ならロックインを完全に回避できます。