Upgrade to Pro — share decks privately, control downloads, hide ads and more …

最近のTensorFlowの話

Norihiro Shimoda
April 30, 2017
1.4k

 最近のTensorFlowの話

TFUG Utsunomiya (https://tfug-utsunomiya.connpass.com/event/55503/) の発表資料

Norihiro Shimoda

April 30, 2017
Tweet

Transcript

  1. TensorFlowのモデル 1. 学習モデルをグラフと して定義する 2. 学習を実際にどう⾏行行う かも定義する – 学習の評価⽅方法 –

    最適化の⽅方法 – CPU  or  GPU – スタンドアロン or  分散 3. 定義に従って計算処理理 をデバイス上で実⾏行行さ せる
  2. ここまでのまとめ • TensorFlowは全世界的に⼤大⼈人気 – Googleが使ってるものが使える! – AlphaGOのインパクト! • TensorFlowに関わる⼈人もいろいろ –

    研究で使ってる学⽣生、先⽣生 – 趣味の延⻑⾧長で触っているWeb系開発者 – ディープラーニングを案件として扱う分析の会社 – Android/iOS等のモバイルアプリの開発者 – 組み込み系のハードウェア寄りの開発者 – etc… 15
  3. Regional  TFUG • TFUG  AIZU(2016年年末に始動) • TFUG  Utsunomiya • TFUG

     KANSAI(5⽉月始動) • その他も増えるかも。。。? 20
  4. How  to  join? グループ名:TensorFlow User  Group  Tokyo イベント情報を管理理しています。 https://tfug-‐‑‒tokyo.connpass.com/ グループ名:TensorFlow

    User  Group 各種情報交換の場として利利⽤用されています。 https://www.facebook.com/groups/17855923 5921208/
  5. 三⾏行行まとめをもう少し詳しく • Fast – めっちゃパフォーマンス良良くなりました • Flexible – ⾼高レベルAPIが本格的に導⼊入されました •

    Production-‐‑‒ready – APIは安定させます • その他もいろいろあります – デバッガ(tfdbg)、多⾔言語対応など
  6. Fast • パフォーマンスの⼤大幅な向上 – 64GPU上でのInception  v3の処理理が58倍⾼高速になっ た! • XLAの導⼊入 –

    Accelerated  Linear  Algebraの略略 – コンパイラ https://developers-‐‑‒jp.googleblog.com/2017/03/xla-‐‑‒tensorflow-‐‑‒compiled.html
  7. Production  Ready • APIの安定化 – V0.11,  v0.12辺りの混乱が収束するはずJ – が、後⽅方互換性崩れてますL –

    が、移⾏行行ツールが提供されていますJ https://github.com/tensorflow/tensorflow/tree/master/tensorflow/tools/compatibility
  8. この後のサンプルコード • わかりやすくDNN – 隠れ層3層で全て全結合層 – ユニット数は10,20,10 • サンプルデータとしてはirisデータ –

    クラス数は3 – 特徴量量の次元数は4 • サンプルコード⾃自体はQiitaで解説付きで公開し ています – http://qiita.com/rindai87/items/72651c702e926 5595047 http://qiita.com/rindai87/items/72651c702e9265595047
  9. Layersのイメージ hidden1=tf.layers.dense( inputs=input_̲layers,   units=10, activation=tf.nn.relu) input_̲layer=tf.reshape(features,   [-‐‑‒1,  4])

    output_̲layer=tf.layers.dense( inputs=hidden3, units=3) hidden2=tf.layers.dense(…) hidden3=tf.layers.dense(…) input hidden1 hidden2 hidden3 output
  10. Estimator導⼊入の良良さ • アルゴリズム実装者視点 – インターフェースが統⼀一されたため、実装の際の指 針になる • アルゴリズム利利⽤用者視点 – インターフェースが統⼀一されたため、APIを読み込ま

    なくても利利⽤用⽅方法が類推できる – 様々なアルゴリズム(Estimator)を基本的には同じ データで呼び出し⽅方を変えるだけで使える(はず) 54
  11. Canned  Estimator • Layers,  Estimatorのお陰で、モデルに対して標 準的なインターフェースが提供されている状態 になる • これを利利⽤用して、様々なEstimator(つまりア ルゴリズム)を提供していく

    – インターフェースが共通化されているので、同⼀一 データに対して様々なアルゴリズムを簡単に試せる ようになる • 要は、今後たくさんのアルゴリズムが TensorFlow上で実装、提供されてきます、とい うことです – おっとこれはscikit-‐‑‒learnな感じですね、と思ったあ なた、正解です
  12. 57

  13. Keras正式サポートの恩恵 • 今までKerasから使えていなかった各種TFの機能 が使えるようになる – 分散処理理による学習 – CloudMLでの実⾏行行 • これまではCloudMLのプロビジョニングの段階で

    Kerasをpip  installするというハックで解決してい た • なお、この解決⽅方法を使ってもKerasからはGCSに 置いているデータを読みにいけないという問題が 残っている – TensorFlow Serving – etc…