manabu’s blog

日々の足跡。

Tensorflow を使いこなせない話

TensorFlow ってご存知ですか. 最近 (?) 巷で流行りの人工知能(というか機械学習(というか深層技術))の実装を助けてくれるライブラリです. オープンソースですが, Google が作っているので機械学習ライブラリとしては有名だと思います.
ただこの TensorFlow, ただの機械学習ライブラリと言うには語弊がありますよね.

研究で流行りの深層技術を扱った際に TensorFlow を利用したのですが, 如何せん, TensorFlow のポテンシャルを微塵も発揮できている気がしません.
ちまちまやれば所望のアプリケーションは実装できるのですが, TensorFlow の実力は深層技術を用いたアプリケーションの実装が容易い (?) ことではないと Google さんはおっしゃられています.

TensorFlow のトップページでは,

About TensorFlow

TensorFlow™ is an open source software library for numerical computation using data flow graphs. Nodes in the graph represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors) communicated between them. The flexible architecture allows you to deploy computation to one or more CPUs or GPUs in a desktop, server, or mobile device with a single API. TensorFlow was originally developed by researchers and engineers working on the Google Brain Team within Google’s Machine Intelligence research organization for the purposes of conducting machine learning and deep neural networks research, but the system is general enough to be applicable in a wide variety of other domains as well.

とあります.

要は, TensorFlow は数値計算ライブラリだと. データフローグラフに基づいた数値計算ライブラリ. それも, 様々なデバイス・計算資源のもとで動かすことが出来る. 元々機械学習の研究を目的として作られた, しかし, 応用範囲は機械学習に留まらない(これが大事).

なんかすごそう. データフローグラフに基づいた数値計算ライブラリって意味, TensorFlow を既に触った身からすると何となくだけど分かるようで分からない. 使いこなせたらすごいんだろうな.

と, いたく感動しているのですが, 実際どんなことに使えるのかがわかりません.
Tutorials では Deep Learning 系の実装以外に, マンデルブロ集合 (?) や偏微分方程式 (?) を実装 (?) して可視化するものがあります.
でもそれじゃ有り難みがわからない…もっと具体的なアプリケーションを実装して欲しい…
誰か格好良く使いこなして…そしてデータフローグラフの延いては TensorFlow の素晴らしさ教えて欲しい…

小学生みたいな感想ですが, ファイルの読み込みから書き込みまで何もかもフローグラフで表現されていて, 関数型言語みたいだと思いました.
…見栄を張りました, 実は関数型言語すら触ったことないです…

ドキュメントとチュートリアルがせっかく充実しているのだしもっとちゃんと勉強しようと思います.

以上, TensorFlow のバージョンアップに伴って既存スクリプトとの互換性が無くなり, 折角だから改めてチュートリアルをやってみたら中々コードが読み解けなくて, つらみ極まった人の戯れ言でした.