“AndroidスマホのTermux上でPythonを動かして、Tensorflow liteのコードを実行するまで”
※ はてなブログから引っ越し '24/8/16
しょくぶつ(^^) です。
前回のもの、お使いになっていかがでしょうか?
この程度のコードなのに思いのほかよく当たったのではないでしょうか?
そこで、もっともっと精度を上げるため、学習データ追加、CNN(畳み込みニューラルネットワーク)のパラメーターを最適化など、いろいろやりたくなると思うので、そのご紹介を準備中です。
それよりも、WindowsのPCではなくスマートフォンで動かすことの方が楽しくなって、トライしていました。
頑張った甲斐があって、
- Pythonコードは「Termux」というアプリを使って実行
- 機械学習ライブラリのTensorflowはライト版(Tensorflow lite)を使うように変更
- 画面キャプチャーは「USBカメラ」というアプリを使用
という方法を使って実現できました !!
スマホで動かすようにした目的は「省エネ」です。
といいますのは、頑張ってコードを作ったものの、たかがゲームちょっとアシストするのに、わざわざWindows PCを動かして無駄に電気使う、良くないものを作ってしまったのでは ?! と悶々としていたためです。
スマホで動かすだけならば「Google Colaboratory」を使えばいいのですが、これはクラウド上で電力バカ食い大型コンピュータでコードを動しているので、ちっとも省エネになりません。
そうではなく、スマホだけで前回コードを動かせれば、
「スマホだけで機械学習の予測モデルを使う」
ことができていることになるわけです。
そうすれば夢が広がりますよね。
電波が届かなくて「Google Colaboratory」と接続できない場所でもスマホで機械学習が使えます。
スマホだけで クマ監視システム + 機械学習 とか実現できて、世の中の役に立つかもしれませんね。
ただ、Windowsよりも準備がすごく大変です。
使い慣れない「Linux」の使い方も勉強することになります。
これから数回に分けて紹介しますが、頑張りましょう !!
● androidスマートフォンにLinux環境, "Termux" を使えるようにします。
次の記事を参考にさせていただきました。
【西川和久の不定期コラム】root化せず気軽にAndroidスマホでLinux「Termux」!PHP+Apache+MariaDBを入れてWordpressを動かしてみる - PC Watch
まず F-drodi をインストール
スマホのブラウザで F-droid を検索するなどして、"F-droid.org" を開きます。
F-droid.apkをダウンロードします。
F-droidをインストールします。
次に、Terumuxのインストール
F-droidを開きます。
"リポジトリの更新中"となって、しばらく待ちます。
『右下』の虫眼鏡アイコンをクリックします。
"Termux"と打ち込むと、何列目かに"Termux"があるので(したのずでは4列目)それをダウンロードして、インストールします。
この後で使う"Termux:API"と"Termux:Wiged" も同様にインストールします。
おまたせしました、"Termux"を開きます。写真のような画面は出たでしょうか?
● Windows PCから操作できるよう、「SSH」をインストールします。
次の記事を参考にさせていただきました。
【西川和久の不定期コラム】root化せず気軽にAndroidスマホでLinux「Termux」!PHP+Apache+MariaDBを入れてWordpressを動かしてみる - PC Watch
スマホの画面からコマンド入力はさすがに面倒なので、Windows PCから操作できるよう、「SSH」をインストールします。
まず、
apt update
と入力してください。(下の画面)
Termuxで apt update と入力
以下では、この入力を
~$ apt update
と記載していきます。
そしてEnterを入力して(「↵」を押して)ください。
無事に、下の画面のように出たでしょうか?
(全く同じにはならないので心配なく)
次に、同じように
~$ apt upgrade
と入力してください。
すると、
Do you want ot continue? [Y/n]
と表示されるので、Enterしてください。
下記の画面のようなメッセージが表示されます。
その後も6~7回、下記画面のように聞かれますが、同じくEnterを入れていきます。
Termuxから、まずssh本体をインストールします。
~$ pkg install openssh
これも Do you want ot continue? [Y/n] と表示されたらEnterしてください。
次に、”ip -4 a” というコマンドを使えるよう、iproute2をインストールします。
~$ pkg install iproute2
さっそく使ってみましょう。Ipアドレス(この例だと 192.168.11.20 )が確認できます。
~$ ip -4 a inet 192.168.11.20/24
Termuxで使用しているユーザー名を確認します。
次のように入力して出てきた結果の中から uid=xxxxx(u0_axxx) を探します。「u0_axxx」がユーザー名です。
~$ id ・・・(結果)・・・ uid=10442(u0_a442) ・・・
・Termuxのパスワード設定
次のように入力してパスワードを設定します。もちろん、忘れないようにしてください。
~$ passwd
・sshを起動します。
次のように入力すると「ssh」が起動します。
※ ssh ではなく sshd であることに注意。
~$ sshd
特にメッセージは出ませんが、これでスマホ側の準備はOKです。
・Windowsから接続します
Windows PCの方を操作します。powershellから次のように入力してください。
PS C:\Users\(ご自身の環境に依存)> ssh u0_a435@(先ほど調べたipアドレス) -p 8022
例: PS C:\Users\(ご自身の環境に依存)> ssh u0_a435@192.168.11.20 -p 8022
"Are you sure you want to continue connecting (yes/no/[fingerprint])? "
と聞かれるので yes と答えます。
( そのままEnterを押してしまうと、
"Host key verification failed." と叱られてしまいます。 )
無事に接続できました!!
これ以降はWindows PCの広い画面とキーボードでインストール作業を進めることができます。