Tensorflow Android Demo 測試

目錄

下載源碼:

​​​​​安裝 Android Studio:

 

編譯

調試手機連接問題

應用安裝

主要參考文獻:


測試環境: Ubuntu 18.04

 

下載源碼:

實際只是用examples/android文件夾下的,但是tensorflow沒有提供單獨的文件夾下載,所以這裏要下載整個tensorflow

git clone --recurse-submodules https://github.com/tensorflow/tensorflow.git

​​​​​安裝 Android Studio:

在AS官網下載頁面https://developer.android.com/studio#downloads 選擇相應系統版本的壓縮包下載.

參考https://developer.android.com/studio/install?hl=zh-cn 安裝 AS, SDK和NDK

NDK不需要單獨下載,在選擇好要使用的版本的SDK後,在SDK tools 裏勾選NDK即可,如下圖

 

編譯

打開前面下載的tensorflow中的android文件夾爲工程文件夾

將 Gradle Scripts/build.gradle中的第45行

def nativeBuildSystem = 'bazel' 修改爲
def nativeBuildSystem = 'none'

然後就可以編譯了.

調試手機連接問題

編譯成功後,在用手機調試安裝時,我又遇到了AS無法識別手機的情況(儘管開啓了USB調試),然後參照https://blog.csdn.net/w19961009/article/details/54952777這篇博文進行設置

首先在未連接手機的情況下,在terminal 中輸入lsusb,獲取當前usb設備列表

然後將手機與電腦連接,再次輸入lsusb獲取新的usb列表,前後對比即可找到自己的手機usbid,主要找到 xxxx:yyyy一共八位字符,然後

sudo vim /etc/udev/rules.d/90-android.rules

新建90-android.rules文件(此處推測前面的數字與手機的系統版本有關,之前試過51不起作用,換成90就可以了,我的系統是安卓9.0),將上面找到的xxxx:yyyy 分別寫入下面的位置

SUBSYSTEM=="usb", ATTRS{idVendor}=="xxxx", ATTRS{idProduct}=="yyyy", MODE="0666"

然後保存退出,修改文件權限

chmod a+x /etc/udev/rules.d/90-android.rules

隨後執行下面命令,重啓udev

sudo /etc/init.d/udev restart 

然後在AS上面工具欄手機列表位置下拉選擇Troubleshoot device connections

在打開窗口中next->next->到最後一個頁面,點擊Restart ADB server

等ADB重啓後應該就可以正確識別手機設備了,可以插拔兩次試試,注意手機屏幕彈出的調試請求要確認

 

應用安裝

本來以爲這樣應該就可以了,沒想到又碰到了下載模型一直連接失敗,多次嘗試發現應該是GFW的原因,連接不上storage.google,試了各種代理也不行(此處吐槽一下AS的代理是真的難用),後面找到了下載models的網址就直接在瀏覽器下載後copy到對應文件夾了

就是這幾個models:

我上傳到了限速雲,有需要的可以自取:

鏈接: https://pan.baidu.com/s/1aIu7R37ChRAM1eH-oz-Elg 提取碼: mmy5 複製這段內容後打開百度網盤手機App,操作更方便哦

 

因爲手動下載了需要的models,所以需要把原來下載的代碼註釋掉,在android文件夾下面的Gradle Scripts/download-models.gradle中找到下面內容全部註釋

然後把下載的models(不要copy文件夾,直接複製文件)到project.ext.TMP_DIR

在build.gradle中可以找到TMP_DIR的定義(project.ext.TMP_DIR = project.buildDir.toString() + '/downloads')所以應該知道copy到哪了吧

然後重新構建,在運行就可以正常啓動了~安裝成功後手機上會多出4個APP.

 

 

主要參考文獻:

官方源碼文檔readme: https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/android

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章