色々と進化しているTensorFlow
- 紹介編 -
09/10/2018
DLHacks LT
Jun Hozumi
1
動機
• 自分の知らぬ間に色々な機能が追加されていたようなので、一度調べておきたかった
• 今回実装はしていないので、次回はこれから何か実装してみて感想を発表したい
2
今回紹介する項目
• Eager Execution
• TensorFlow Hub
• TensorFlow Lite
• TensorFlow.js
• TFX (TensorFlow Extended)
• 進化している項目は他にも色々あります
• 分散処理とか確率推論とか
• これらは仕様が変わる可能性が(かなり)あります
3
Eager Execution
• PytorchっぽくDefine-by-Runで実行させたいときに使う
• Define-and-Runでの良さを残しつつ改良が重ねられている
4https://developers.googleblog.com/2017/10/eager-execution-imperative-define-by.html
コード(の一部分)
TensorFlow Hub
• 学習済モデルのライブラリー
• hub.Module()でサクッと読み込めて、転移学習が簡単にできるようになっている
5
自然言語では日本語学習済みモデルも使える!
TensorFlow Lite
• 学習済モデルをモバイル機器向けに最適化する軽量化ソリューション
• オフライン環境でも限られたメモリで軽快に動作させたい
• 学習済みモデルをtfliteフォーマットに変換(量子化)する
• Raspberry Piにも対応した
6
JavaやC++のラッパーもついている
TensorFlow.js
• ブラウザ上で実行できるようにするためのJavascriptライブラリ
• 実際にデモで遊んでみよう https://js.tensorflow.org/
7
超簡単なものならこんな感じに書ける
TFX (Tensorflow Extended)
• エンドツーエンドな汎用機械学習プラットフォーム
• 1つのプラットフォームで様々なモデルを安定して継続的に用いることができるようにする
• 前処理やモデル評価など、各プロセスに対応した様々なコンポーネント
• Google Playのレコメンドに使った結果、インストール率を2%向上できた
8TFX: A TensorFlow-Based Production-Scale Machine Learning Platform(KDD2018)
機械学習プロセスの大部分を自動化できる
感想
• 研究にはPyTorchのほうが向いていそうな気がするが、実装を組込む・公開することを
ゴールにする場合は、TensorFlowも有力な選択肢になるように思われる
• 研究者だけではなく、エンジニアにもなれる(敷居が低い)言語と言える?
• 次回LT枠(10月末?)があったので、これらを使用した何かを実装してみます
9

[DL Hacks]色々と進化しているTensorFlow - 紹介編 -