【环境配置】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的版本,需要进行调整。
在这里插入图片描述
进入/usr/bin目录下,输入ls -l | grep python显示所有名字中包含python的文件,可以发现发现电脑中有Python3.6的版本,但是python默认调用Python2.7。
【环境配置】Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)_第1张图片
修改python的指向即可。

sudo rm -rf python
sudo ln -s /usr/bin/python3 /usr/bin/python

【环境配置】Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)_第2张图片

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的情况,通过单独安装解决问题。
【环境配置】Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)_第3张图片
【环境配置】Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)_第4张图片
全部安装完成后,应该如下所示。

【环境配置】Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)_第5张图片
【环境配置】Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)_第6张图片

3.安装TensorFlow和Caffe

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

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

【环境配置】Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)_第7张图片

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

pip install -U scikit-image

【环境配置】Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)_第8张图片
【环境配置】Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)_第9张图片

4.配置TensorFlow和SNPE

通过pip show -f tensorflow | grep Location获取TensorFlow的安装位置。
在这里插入图片描述
设置 TensorFlow SNPE 环境。

source bin/envsetup.sh -t /usr/local/lib/python3.6/dist-packages/tensorflow/

测试是否配置成功,如果打印出help,则完成配置。
【环境配置】Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)_第10张图片

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

【环境配置】Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)_第11张图片
【环境配置】Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)_第12张图片
(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 .

【环境配置】Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)_第13张图片
【环境配置】Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)_第14张图片
(4) 在当前Ubuntu 环境下用SNPE推理 inception_v3
【环境配置】Ubuntu18.04配置高通骁龙神经处理引擎(SNPE)_第15张图片
(5)查看推理结果
在这里插入图片描述

REF

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

你可能感兴趣的:(环境配置,tensorflow,python,人工智能,ubuntu,caffe)