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

Androidに自作AIをのっけたい

 Androidに自作AIをのっけたい

Tensorflow Liteを使ってAndroidに自作AIをのっける話です。

bugdog24

March 25, 2023
Tweet

More Decks by bugdog24

Other Decks in Programming

Transcript

  1. <<
    自作AIを
    Androidにのっける

    View Slide

  2. 岡山大学工学部 24卒
    自称Androidエンジニア
    趣味:刀鑑賞、麻雀、プログラミング
    @bugdog24
    オキリョウ

    View Slide

  3. 最近AI流行ってますよね

    View Slide

  4. View Slide

  5. APIまで公開されていて
    簡単にアプリに組み込める!

    View Slide

  6. なかなかサーバーに
    繋がらないときも・・・

    View Slide

  7. アプリリリースするときに
    こうなるの怖い😱

    View Slide

  8. そもそも既存のAI叩いても
    面白くない

    View Slide

  9. せっかくなら自作AI
    載せてやりたい!

    View Slide

  10. そんなあなたに

    View Slide

  11. View Slide

  12. 1
    TF Liteとは

    View Slide

  13. モバイル端末上で
    AIを動かせるライブラリ

    View Slide

  14. 様々な端末上で動作可能
    ・Android
    ・iOS
    ・Raspberry Pi
    ・etc…

    View Slide

  15. TF Liteの利点
    ネットで調達するもよし、自分
    で作成するもよし
    AIの
    カスタマイズ性
    端末で実行するため、AIを動か
    すサーバーを用意する必要がな

    サーバーレス

    View Slide

  16. 2
    簡単な使い方

    View Slide

  17. 1. AIモデルを用意
    2. ライブラリ追加
    3. プロジェクトに入れる
    4. 使う

    View Slide

  18. 1. AIモデルを用意

    View Slide

  19. Tensor FlowでAIモデル作成
    or
    配布されてるAIモデルを
    再トレーニング(転移学習)

    View Slide

  20. 2. ライブラリ追加

    View Slide

  21. 依存関係を足すだけ

    View Slide

  22. 3. プロジェクトに入れる

    View Slide

  23. 実はAndroid Studioに
    オプションが存在する

    View Slide

  24. View Slide

  25. View Slide

  26. 4. 使う

    View Slide

  27. View Slide

  28. View Slide

  29. 簡単👍

    View Slide

  30. 3
    アプリ作る

    View Slide

  31. View Slide

  32. AIモデルを用意

    View Slide

  33. 今回はColaboratoryで
    1から作成する

    View Slide

  34. 構造を決める

    View Slide

  35. 学習

    View Slide

  36. 評価

    View Slide

  37. 評価

    View Slide

  38. SavedModel形式で保存

    View Slide

  39. tflite形式に変換

    View Slide

  40. 変換したモデルの評価

    View Slide

  41. 変換したモデルの評価

    View Slide

  42. アプリ部分を作る

    View Slide

  43. View Slide

  44. 作る機能
    - 手書き入力機能
    - AIと通信する機能

    View Slide

  45. 手書き入力機能
    ライブラリがないため
    自力で実装

    View Slide

  46. AIと通信する機能
    Repositoryパターンで対応

    View Slide

  47. View Slide

  48. View Slide

  49. AIモデルの導入

    View Slide

  50. View Slide

  51. View Slide

  52. View Slide

  53. インスタンスはDIして
    シングルトンで持つ

    View Slide

  54. View Slide

  55. View Slide

  56. View Slide

  57. View Slide

  58. View Slide

  59. View Slide

  60. アプリ完成🎉

    View Slide

  61. 4
    感想

    View Slide

  62. ・AI作るの楽しい
    ・どこでも利用可能
    ・ストレスを感じない速さ

    View Slide

  63. ・アプリとの接続が面倒
    ・モデルサイズがでかい
    -> 37.5MB / 48.11MB

    View Slide

  64. View Slide

  65. View Slide

  66. ・アプリとの接続が面倒
    ・モデルサイズがでかい
    -> 37.5MB / 48.11MB

    View Slide

  67. 結論
    なんやかんや面白かった

    View Slide

  68. ぜひお試しあれ

    View Slide

  69. ご清聴
    ありがとうございました!

    View Slide