(增加虚拟机)安装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查看是否安装成功,成功如下图。


5da51b92dfc6c341df0cf459bc5159823d7.jpg

 

二、安装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调试,截图为华为手机。

fdb740ec73bfa4945a131231738b142a49e.jpg

 

(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文件夹,则自行创建。

5040a4e738592050e95d226b64abb97b655.jpg

1b39ebde31ba61b2c1e7d4acbb5281da78b.jpg

和安装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/

e9b954fa53a892560aca89e390e7432dbad.jpg

(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

```

转载于:https://my.oschina.net/u/4031275/blog/2960789

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值