Paper: TensorFlow Estimators: Managing Simplicity vs. Flexibility in High-Level Machine Learning Frameworks
かっこいい TensorFlow の high level API を作ったから使ってくれよな、という話。特に目新しいことを主張しているわけではなく、誰が書いても大差ない割にバグりやすい boilerplate を TF に入れたということらしい。
主要な API は tf.layers と tf.estimators. この2つは直行している。話の中心は tf.estimators だった。train のループなどのかったるさを引き取ってくれるというから、使い方を覚えてやろうか思う程度には説得された。 tf.keras もなかみだいたい tf.layers だった気がするし(とおもって眺めると tf.keras の方がだいぶ充実してる...再利用できる範囲では tf.layers に依存している模様。)
ところで検索すると tf.contrib.layers と tf.contrib.learn.Estimator というよく似た API がある。 tf.contrib には API のうち unstable な部分を入れてるのかなー・・・と思いきやよく似た非互換の実装が入っている。まじか。 tf.contrib. で試作したのち tf. で実装しなおしたのだろうか。そんなら古い方は deprecate してくれ。カオスすぎ・・・。
TF は全体的に荒々しすぎ人々がついてくるのかいつもながら不安。tf.estimators もほんとに依存してだいじょうぶなんですかね。まあ自分のような余暇プログラマが心配しても詮無い話ではある。会社の中で使ってる人たちはおつかれさまです。