深層学習のフレームワーク

1.Tensorflow(テンソルフロー)

 「Tensor」は数学の概念の一つ、行列の概念を一般化(n次元化)したもの
   0次元の配列を「スカラ」
   1次元を「ベクトル」
   2次元を「行列」
   それ以上n次元を「n次元配列」

 エンドツーエンドかつオープンソースの深層学習のフレームワーク
   Googleによって2015年に開発・公開される

 ドキュメント類も多く、サポートも充実している
   様々なスケーラブルなプロダクトやデプロイのオプションも提供している
   モデルの抽象度も色々あるので、非常に便利
     レイヤーの名前を呼ぶだけで
       モデルを組むか、より深いアルゴリズムを変更するか等々
   WindowsやMacOS、Androidなど多くのプラットフォームで利用できる

 名前の通り、様々なタスクに
   データのフローを流しこみ、プログラムを作成するためのフレームワーク

 ニューラルネットワークなどの機械学習のアプリケーションに適用できる
   多くのシンボリックな数学ライブラリが用意されている

2.Keras(ケラス)

 TensorFlow上で動くニューラルネットワークライブラリ
   ディープニューラルネットワークを使った高速な実装が可能なように設計
   CNTK、Tensorflow、Theanoなどがバックエンドとして動作する

   ニューラルネットワークの迅速な実験を可能にすることを目的とした
     機械学習やディープラーニングのモデル作成を比較的容易に行える
     オープンソースのニューラルネットワークライブラリ

 モジュール化やユーザーフレンドリーで、拡張性がある
   低レベルの計算は処理せず、バックエンドの別のライブラリに渡す

2.3. PyTorch

 Torchベースの深層学習フレームワーク
   Facebookが開発し、2017年にGithubのオープンソースとして公開される
   主に自然言語処理に使用される

 シンプルで使いやすく、柔軟性、メモリの効率的な使用、
   動的な計算グラフなどについて高い評価を得ている