blog.dopana

Back

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パイプライン
XLAGPU/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)
python

Eager実行#

TF 2.xはデフォルトで操作をeager実行(通常のPythonのよう)— デバッグが容易。静的グラフAPIはレガシーコード用にtf.compatにあります。

XLAコンパイラ#

@tf.function(jit_compile=True)
def compute(x, w):
    return tf.matmul(x, w)
python

tf.functionはコードをグラフにトレースし、XLA(Accelerated Linear Algebra)がGPU/TPU向けにコンパイル・融合します — 計算負荷の高いモデルでしばしば5-50倍の高速化。

歴史#

バージョン変更
TF 1.x2015静的計算グラフ、session.run()
TF 2.02019eager実行がデフォルト、Kerasを統合
TF 2.16-2.202024-2025Keras 3バックエンド、Python 3.13対応
TF 2.212026年3月最新の安定版

はじめに#

pip install tensorflow # CPU + GPU(NVIDIA CUDA)
pip install tensorflow-cpu # CPUのみ、はるかに小さい
bash

GPU・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ならロックインを完全に回避できます。

参考資料#