TensorFlowは、GoogleのBrain Teamの研究者たちが作った機械学習ライブラリだ。このたびApache License 2.0のもとオープンソースとして公開された。TensorFlowの詳細については、ホワイトペーパー「TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems」に書かれている。ソースコードはGoogle Gitで公開されている。
TensorFlowは機械学習アルゴリズムを書いて動かすためのツールだ。計算はデータフローグラフでなされ、ノードが数学的オペレーション、エッジがノード間でやりとりされる tensors (多次元データ配列)を示している。ユーザはグラフを構築して、各ノードで実行されるアルゴリズムを書く。TensorFlowは様々なデバイス、コア、スレッドで非同期にコードを実行してくれる。
TensorFlowはデスクトップやサーバ、モバイルデバイスのCPUおよびGPUで動かすことができる。Dockerを使ってコンテナ化し、クラウドにデプロイすることも可能だ。オープンソース版はクラスタではなく単体マシンで動作する。
TensorFlowには、グラフを構築・実行するためのPython APIとC++インターフェイス一式が用意されている。また、CベースのクライアントAPIもある。Googleは他の言語のインターフェイスを書くようコミュニティに呼びかけており、Lua、R、Java、Go、JavaScriptはほぼ確実だろう。
Googleはこのライブラリは完成していないと考えており、引き続き改善されていくだろう。Googleは自社が作った実際の実装をいくつか公開するだろう。
彼らはTensorFlowを、GMail (SmartReply)、Search (RankBrain)、Pictures (Inception Image Classification Model)、Translator (Character Recognition) などのプロダクトで使っている。