Help us understand the problem. What is going on with this article?

【初心者向け】AndroidスマホでTensorflow Liteサンプルを使って機械学習モデルを動かしてみた~準備編~

More than 1 year has passed since last update.

やること

最近機械学習系の仕事をすることが増え、Androidスマホ(以下、スマホ)でも作成した機械学習モデルが動かせないかと考えていたのが今回記事を書く動機です。
とはいえ、Androidのアプリ開発などしたことはなく今回はまず公開されているサンプルをスマホ上で動かしてみようと思います。

慣れていないとサンプルを実行するのにも頭を抱えることも多いと思うので、備忘録の為メモを残します。

今回使用するTensorflow Liteですが、組み込み・モバイル向けのTensorflowのモデルの軽量版になります。
うまくサンプルが動かせたら、自分で作成した機械学習のモデルが使えるかなど今後試していきたいと思います。

TensorFlow Lite を使用しているアプリの例(公式)
https://www.tensorflow.org/lite/examples

環境

(2019年8月時点)
PC:windows10
スマホ:Galaxy S8
Android:バージョン 9
Android Studio : 3.4.2

準備

■モジュール

Android Studioが必要なので下記からダウンロード&インストールしておいてください

Android Studio
https://developer.android.com/studio?hl=ja

gitコマンドが入っていない場合は下記でダウンロードしておいてください。

Git
https://git-scm.com/downloads

■スマホ設定
スマホ側の「開発者向けオプション」で下記設定をONにしました
 ・USBデバッグ

後、私は開発用途なので下記の設定もONにしました
※設定は自己責任でお願いします
 ・スリープモード非設定(充電中はスリープモードにしない)

■PC接続
スマホとPCはケーブルで接続した状態にしておいてください
PCにスマホ接続時に「端末のデータへのアクセスを許可しますか?」で「許可」にする必要あり

手順

①サンプルをダウンロード
②Android Studioでビルド
③アプリをスマホにインストール
④アプリ実行

①サンプルをダウンロード

画像分類(image classification)を例にとり実行したいと思います。
TensorFlow Liteのサンプルが載っているサイトから下記を選択します。
(今回はAndroidの例なのでAndroidを選択)

screenshot.391.jpg

Githubのページに飛び、前提や実行方法が書いてあります。
(一応初心者向けなので、Githubのページ見てできる人はどんどん進んでもらって構いません)

コマンドプロンプトでサンプルをダウンロードします。
これは画像分類だけではなく5種類のサンプルのコードが入っています。

サンプルダウンロード
git clone https://github.com/tensorflow/examples

screenshot.392.jpg

②Android Studioでビルド

Android Studioを起動して、プロジェクトを開きます。

screenshot.396.jpg

examples -> lite -> examples -> image_classification -> android を指定

screenshot.397.jpg

開くとこんな感じになっています

screenshot.398.jpg

Build -> Make Projectからビルドを実行します
screenshot.399.jpg

ビルドが成功すると下記の「Build:completed successfully」が出力されます
もし、足りないモジュールやパッケージなどあればプロンプトで表示されますのでダウンロードしてください。

screenshot.400.jpg

(2019/8/19追記)
まずは、スマホではなくエミュレータでビルドできるかなど試す方がいるかと思います。
私も試したのですが、「minSdkVersion」で怒られました。
元々「build.gradle」に記載されているバージョンから変更したりしたので、同じようなエラーが出た方は「Tensorflow Lite」「minSdkVersion」などでググってみてください。

③アプリをスマホにインストール

ビルドが完了したらスマホ側にインストールします。

Run -> Run 'app' を選択

screenshot.402.jpg

接続されているスマホを選択し、「OK」を選択します。
※PCにスマホ接続時に端末データへのアクセスを許可しますか?で「許可」にしておかないと出てこないので注意

screenshot.404.jpg

正常に終わるとスマホ側にアプリができているので確認。
カメラ撮影の許可が出るので「許可」を選択

 

④アプリ実行

アプリを実行してみます。
1秒おきくらいにスコアリングを内部的にしているのか、目まぐるしい速さで今カメラで見ているものを判別しようとします。

物にもよるのでしょうが、判別できているものは確率が高いですね。

全部試したわけではないですが、他のサンプルも同様にスマホで試せると思います。

今回は一旦ここまでで終了とします。
次回以降は自分で作成したモデルを組み込んで判別させる、などができればなぁと思っています。

SeagullShingo
ゆるーく技術情報について発信していきます
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした