TensorFlow

TensorFlow（テンソルフロー、テンサーフロー）とは、Googleが開発しオープンソースで公開している、機械学習に用いるためのソフトウェアライブラリである。
概要.
機械学習や数値解析、ニューラルネットワーク（ディープラーニング）に対応しており、GoogleとDeepMindの各種サービスなどでも広く活用されている。
2015年11月9日にベータ版がApache 2.0 open source licenseの下で公開され、2017年2月15日には正式版となるTensorFlow 1.0がリリースされた。
TensorFlowは元々、Google内部での使用のためにチームによって開発された。開発された目的は、人間が用いる学習や論理的思考と似たように、パターンや相関を検出し解釈するニューラルネットワークを構築、訓練することができるシステムのための要求を満たすためである。現在は、Googleのサービスの研究と生産に使用されており、以前に使用されていたクローズドソースのDistBeliefの役割をほぼ置き換えている  。AIにも詳しいは、GoogleはTensorFlowのコードをオープンソースにした事で、AIの真の価値はAIの「エンジン」ではなく、AIを賢くするのに必要な「データ」である事を示したと語った。そのためGoogleは「データ」の部分は公開しないだろうと述べた。
対応プログラミング言語はC言語、C++、Python、Java、Go。
対応OSは64ビットのLinux（ただしバイナリ配布はUbuntu用）、macOS、Windows。ハードウェアは CPU、NVIDIA GPU、Google TPU、Snapdragon Hexagon DSP などに対応していて、Android Neural Networks API 経由で Android 端末のハードウェアアクセラレータも使用できる。「Google Colaboratory」でも使える。
また、TensorFlowベースの強化学習フレームワーク「Dopamine」もオープンソースとなっている。
Intel CPU向け.
Intel CPU 用の Intel Math Kernel Library ではディープラーニング用の最適化が実装されており、これを TensorFlow から利用できるようにしたものをインテルが配布している。Anaconda などのディストリビューションでもこちらが採用されていて、pip で配布している物と比べて ResNet-50 が8.6倍高速に学習する。
モバイル機器向け.
モバイル機器向けは TensorFlow for Mobile と TensorFlow Lite の2種類がある。Android、iOS、Raspberry Pi 向けのコードも GitHub 上で公開されている。TensorFlow Lite は2017年11月14日に Google より公開された。
Eager Execution for TensorFlow.
当初のTensorFlowはニューラルネットワークの計算を表現した計算グラフを学習の前にあらかじめ構築する「Define-and-Run」という方式を取っていたが、2018年に公開された新しい機能である「Eager Execution for TensorFlow」はPreferred Networksのディープラーニングフレームワーク「Chainer」などで採用されている、計算の実行時に計算グラフが定義される「Define-by-Run」という方式を取っている。
応用.
以下のような用途に利用可能。
「CeBIT 2017」における展示.
2017年3月20日から24日にかけてドイツ・ハノーファーで行われた国際情報通信技術見本市「CeBIT 2017」にて、Googleの日本法人がTensorFlowの採用事例として「から揚げ配膳ロボット」、「きゅうり仕分けロボット」、「ドローンで撮影した写真の解析」の3点を展示した。