(增加虛擬機)安裝lite自帶的benchmark和使用方法

開發tensorflow lite,這裏使用的是android studio。

 

一、安裝JAVA JDK

在安裝android studio前,需要安裝JAVA JDK,因爲android是JAVA語言。

1、安裝java jdk,只需要下面3條命令:

 

sudo add-apt-repository ppa:webupd8team/java

sudo apt-get update

sudo apt-get install oracle-java8-installer

 

2、使用 java –version查看是否安裝成功,成功如下圖。


 

二、安裝Android Studio

1、打開這個鏈接,下載AndroidStudio。

2、將下載的壓縮包解壓到某位置,打開終端,cd進入android-studio/bin目錄“./studio.sh”進行安裝

3、剩餘部分參考博文配置studio,這裏其實就可以自己摸索使用studio了。https://blog.csdn.net/weidong32768/article/details/80466980

4、安裝完studio後,一般會自動安裝SDK。查看自己的主文件夾(home)下是否有Adroid文件夾,Adroid文件夾下有SDK文件夾。

5、配置環境變量。

 

sudo gedit /etc/profile

 

末尾添加如下兩行

 

export ANDROID_HOME=/home/bruce/Android/Sdk/

export PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools

你只需要修改第一個變量的路徑,一般是/home/你的用戶名/Android/Sdk

 

6、讓文件生效

 

source /etc/profile

 

三、安裝bazel

 

安裝bazel 參考:這個鏈接

四、ubuntu下安裝adb(安卓與PC支持橋樑軟件)

 

A、如果是virtual box用戶,需要多這一步

需要先讓虛擬機連接usb:

1、在Virtualbox虛擬機配置面板中打開USB設備選項,分別勾選上“啓動USB控制器”“啓用usb2.0控制器”。

2、如果有錯誤去這個鏈接 下載相應版本的插件包,名字類似爲:Oracle_VM_VirtualBox_Extension_Pack-5.1.22-115126.vbox-extpack。下載完畢後雙擊安裝

3、如果完成後,進入linux虛擬機,中斷輸入lsusb還是不能顯示手機的usb,則參考這個鏈接,步驟A和B都得做,完成後重啓機子。

 

1、安裝adb命令

 

sudo add-apt-repository ppa:nilarimogard/webupd8

sudo apt-get update

sudo apt-get install android-tools-adb

 

2、查看是否成功

 

adb -v 有信息則成功

 

3、配置

(1)看adb 是否識別安卓設備

插入usb,使用命令:

 

adb devices

 

查找設備,發現List of devices attached 爲空,說明adb還不能識別該設備,但是usb還是能夠識別的。

因此要先定位usb設備。定位usb方法如下:

在使用adb時,一定要打開手機的開發人員選項——》打開USB調試,截圖爲華爲手機。

 

(2)發現並定位插入的usb設備

拔掉usb,插上usb,命令:

lsusb

對比設備變化,發現新的設備,如我的設備爲

Bus 001 Device 044: ID 2207:0010

就是你插入的設備。

(3)設備條目解析

我的設備條目如下

Bus 001 Device 014:ID 2207 : 0010

其中 2207就是設備的 idVendor, 0010 是 idProduct

注意這個和下文的配置有關,很重要。

4、配置adb

知道設備的名稱和id了,就需要配置adb參數,讓adb識別這個usb設備。

(1)創建並編輯一個51-android.rules配置文件

 

創建:

sudo vi /etc/udev/rules.d/51-android.rules

編輯,在該文件中加入如下格式的信息:

SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0666"

 

(2)修改51-android.rules 的權限

 

sudo chmod a+rx /etc/udev/rules.d/51-android.rules

給他加上可讀和可執行權限

 

(3)增加adb_usb.ini文件並編輯使adb識別該設備

 

編輯

vi ~/.android/adb_usb.ini

在中間加入廠商id即idVendor的值

0x2207

注意需要加上0x的前綴                    

                                     

(4)重啓adb

 

adb kill-server

adb start-server

到這裏就配置完了.

 

(5)查看配置是否成功

 

插入usb,使用

adb devices

 

五、安裝android NDK和SDK

1、經過上面安裝的android studio,你的SDK應該安裝好了,並且配置好了環境。

 

安裝的SDK,安裝的路徑應該是/home/你的用戶名/Android/Sdk (一般默認都是安裝在這裏)

 

2、安裝的NDK必須是r14其他版本不能用,已經試過了。

各個版本鏈接:這個鏈接。需要翻牆,可以用迅雷下載。

其中的NDK,用迅雷下載安裝包,解壓文件到/home/你的用戶名/Android/Sdk/ndk-bundle/

要把解壓出來的文件夾下的東西直接放到ndk-bundle文件夾裏,相當於換一下文件夾

如果沒有ndk-bundle文件夾,則自行創建。

和安裝jdk的過程相同,下一步的工作便是配置ndk的環境變量。

 

sudo vim ~/.bashrc

加上如下兩行代碼

export NDKROOT=/home/bruce/Android/Sdk/ndk-bundle
export PATH=$NDKROOT:$PATH

路徑改成你的路徑

重新生效:

 source ~/.bashrc

使用命令

ndk-build –v

查看是否成功

 

3、首先下載tensorflow源碼文件。

 

git clone https://github.com/tensorflow/tensorflow.git

一般下載下來在/home/你的用戶名/ 下。

 

cd tensorflow/

進入tensorflow文件夾,運行命令

 

./configure

開始配置tensorflow,如果是否安裝什麼support可以都選擇n。默認的按enter。直到出現是否./workplace,如果前面的NDK和SDK都正確,則可以完成配置。

六、編譯benchmark程序

(1) Build for your specific platform, e.g.:

 

bazel build -c opt \

  --config=android_arm \

  --cxxopt='--std=c++11' \

  --copt=-DTFLITE_PROFILING_ENABLED \

  tensorflow/lite/tools/benchmark:benchmark_model

 

完成後的benchmark_module在bazel_bin/lite/tools/benchmark/

(2) Connect your phone. Push the binary to your phone with adb push

     (make the directory if required):

 

```

adb push bazel-bin/tensorflow/lite/tools/benchmark/benchmark_model /data/local/tmp

```

 

(3) Make the binary executable.

 

```

adb shell chmod +x /data/local/tmp/benchmark_model

```

 

(4) Push the compute graph that you need to test. For example:

 

```

adb push mobilenet_quant_v1_224.tflite /data/local/tmp

```

 

(5) Run the benchmark. For example:

 

```

adb shell /data/local/tmp/benchmark_model \

  --graph=/data/local/tmp/mobilenet_quant_v1_224.tflite \

  --num_threads=4

```

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