Android studio开发——Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)

需求

需要使用高通骁龙神经处理引擎(SNPE)进行手机App的开发,这是一个充分利用高通处理器并行计算能力的框架,旨在通过高通骁龙移动平台丰富的计算资源,为开发者提供更快的神经网络推理。根据官方手册,需要以下配置:
环境:Ubuntu18.04
平台:Android Studio
依赖项:
Tensorflow、Caffe
Android SDK(通过 Android Studio 安装或单独安装)
Android NDK(android-ndk-r17c-linux-x86)(通过 Android Studio SDK Manager 安装或作为独立的)

1.安装Ubuntu18.04和Python

首先安装Ubuntu18.01环境和Python,这里需要保证默认调用的是Python3.x的版本。

调整Python版本

如果默认的不是Python3.x的版本,需要进行调整。

Android studio开发——Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)
进入 /usr/bin目录下,输入 ls -l | grep python显示所有名字中包含python的文件,可以发现发现电脑中有Python3.6的版本,但是python默认调用Python2.7。
Android studio开发——Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)
修改python的指向即可。
sudo rm -rf python
sudo ln -s /usr/bin/python3 /usr/bin/python

Android studio开发——Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)

2.安装SNPE

安装SNPE的依赖项

sudo apt-get install python3-dev python3-matplotlib python3-numpy python3-protobuf python3-scipy python3-skimage python3-sphinx wget zip

通过 source bin/dependencies.shsource bin/check_python_depends.sh检查是否全部依赖项安装完全,如果没有就单独安装(如果下载超时,及时更换镜像源)。
下图中出现缺少 python-protobuf的情况,通过单独安装解决问题。

Android studio开发——Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)
Android studio开发——Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)
在所有安装完成后,它应该如下所示。
[En]

After all the installation is complete, it should look like this.

Android studio开发——Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)
Android studio开发——Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)

; 3.安装TensorFlow和Caffe

直接安装cpu版的TensorFlow和Caffe,然后进行测试。

sudo apt-get install tensorflow
sudo apt-get install caffe-cpu

Android studio开发——Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)

Caffe出现问题,原因是在安装其他库的过程中,numpy库的版本变了,只需升级一下 scikit-image库就可以解决。

pip install -U scikit-image

Android studio开发——Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)
Android studio开发——Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)

4.配置TensorFlow和SNPE

通过 pip show -f tensorflow | grep Location获取TensorFlow的安装位置。

Android studio开发——Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)
设置 TensorFlow SNPE 环境。
source bin/envsetup.sh -t /usr/local/lib/python3.6/dist-packages/tensorflow/

测试是否配置成功,如果打印出help,则完成配置。

Android studio开发——Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)

5.使用SNPE 推理 InceptionV3

(1)下载 inception_v3并解压

wget https://storage.googleapis.com/download.tensorflow.org/models/inception_v3_2016_08_28_frozen.pb.tar.gz
tar -zxvf inception_v3_2016_08_28_frozen.pb.tar.gz
mv inception_v3_2016_08_28_frozen.pb inception_v3.pb

(2)将inception_v3.pb转化为SNPE支持的DLC模型格式 inception_v3.dlc

snpe-tensorflow-to-dlc -i inception_v3.pb -d input 1,299,299,3 --out_node InceptionV3/Predictions/Reshape_1

Android studio开发——Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)
Android studio开发——Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)
(3)准备input数据 和 验证脚本
生成数据
python3 $SNPE_ROOT/models/inception_v3/scripts/setup_inceptionv3.py -a ~/tmpdir -d
copy 数据到当前测试目录
cp $SNPE_ROOT/models/inception_v3/data . -r
copy 后处理脚本
cp $SNPE_ROOT/models/inception_v3/scripts/show_inceptionv3_classifications.py .

Android studio开发——Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)
Android studio开发——Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)
(4) 在当前Ubuntu 环境下用SNPE推理 inception_v3
Android studio开发——Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)
(5)查看推理结果
Android studio开发——Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)

REF

官方手册
上手SNPE-推理inception_v3
修改Linux默认python版本
Ubuntu上安装Caffe
Caffe报错

Original: https://blog.csdn.net/qq_42775328/article/details/122590167
Author: 陈成不姓丞
Title: Android studio开发——Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/514874/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球