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

AndroidでTensorflow

nakawai
September 30, 2017

 AndroidでTensorflow

nakawai

September 30, 2017
Tweet

More Decks by nakawai

Other Decks in Programming

Transcript

  1. Androidで
    TensorFlow
    かものはし
    2017/9/30
    @kawai

    View Slide

  2. いきさつ

    View Slide

  3. ディープ
    ラーニング
    すごい

    View Slide

  4. Androidでも
    CNN動かしたい!
    CNN=畳み込みニューラルネットワーク

    View Slide

  5. Java + RenderScriptで
    実装できるらしい
    参考にさせていただいた記事:
    http://www.kaede-software.com/2015/06/renderscript_ja.html

    View Slide

  6. 実装できた!
    けど処理時間が…

    View Slide

  7. View Slide

  8. “When we started
    building TensorFlow,
    supporting mobile
    devices was a top
    priority.”
    https://developers-jp.googleblog.com/2016/07/tensorflow-v09.html

    View Slide

  9. waifu2x
    TensorFlowへ再移植
    RenderScript

    View Slide



  10. ①tfへの移植例:https://github.com/mrkn/tf-waifu2x

    View Slide

  11. 流れ

    View Slide

  12. 1. tfのGraphにする
    2. Graphを書き出す(*.pb)
    3. AndroidでGraphを読み込む
    4. Androidで実行

    View Slide

  13. tf.train.write_graph(def)
    移植フロー

    View Slide

  14. Python と Java(Android)のAPI対応
    Python(1.2.1) tf-android (1.2.0)
    Graphの
    読み込み
    def = tf.GraphDef()
    def.ParseFromString(f.read())
    tf.import_graph_def(def, name='')
    new (AssetManager,
    “file://android_asset/xxxxx”)
    Placeholderへ
    の入力
    feed_dict={“x:0”, nparray} #feed(“x”, float[], 1, w, h, 3)
    処理の実行と
    出力の取得
    result = session.run("out_conv7:0", feed_dict) #run({“out_conv7”}, boolean)
    #fetch(“out_conv7”, int[])

    View Slide

  15. デモ

    View Slide

  16. AndroidでTensorFlow
    以上

    View Slide