SNPE 安装与环境配置
0 系统环境
Ubuntu 18.04
Python 3.6
Anaconda 3
SNPE 1.59.0
1 SNPE (Snapdragon Neural Processing Engine SDK) 简介
骁龙神经处理引擎(Neural Processing Engine, NPE)软件框架让开发者可为实现所需的用户体验,选择最适宜的骁龙内核,包括 Hexagon 向量处理器、Adreno GPU 和 Kryo CPU,并加速其终端侧人工智能用户体验的实现。骁龙神经处理引擎支持 PyTorch、Tensorflow、Caffe 和 Caffe2 框架,以及 ONNX (Open Neural Network Exchange) 交换格式,在多个骁龙平台和操作系统上,为开发者提供更大灵活性和更多选择。
2 安装 Anaconda 和 Python 环境
这里使用 Anaconda 安装指定版本的深度学习框架。
2.1 创建和激活虚拟环境
运行如下命令:
1 | conda create -n snpe |
激活虚拟环境:
1 | conda activate snpe |
2.2 安装 Python
根据 SNPE 说明, 当前其仅支持 Python 3.6 版本,运行如下命令安装:
1 | conda install python=3.6 |
检查 Python 版本:
1 | python -V |
2.3 安装 Python 依赖库
使用如下命令安装相应 Python 依赖库:
1 | conda install numpy sphinx scipy matplotlib scikit-image protobuf pyyaml attrs pytest |
以及安装 OpenCV-Python(可选):
1 | pip install opencv-python |
3 SNPE 开发环境安装
3.1 SNPE SDK 下载 & 安装
下载:
https://developer.qualcomm.com/software/qualcomm-neural-processing-sdk
我这里安装的版本是 1.59.0,百度网盘地址如下:
链接: https://pan.baidu.com/s/1xGszk9Or9Bu0R4JNokgnnQ?pwd=fqpb 提取码: fqpb
安装:
https://developer.qualcomm.com/sites/default/files/docs/snpe/setup.html
安装 SDK 依赖项
1 | sudo apt-get install python3-dev python3-matplotlib python3-numpy python3-protobuf python3-scipy python3-skimage python3-sphinx wget zip |
检查系统环境依赖:
1 | source bin/dependencies.sh |
检查 Python 环境依赖:
1 | source bin/check_python_depends.sh |
3.2 安装 Android Studio (可选,如果需要 APP 调试)
下载
https://developer.android.com/studio/index.html
安装
https://developer.android.com/studio/install
3.3 安装 Android NDK
这部分是必选
https://developer.android.com/ndk
可以使用上面的 Android 安装。
1)打开项目后,依次点击 Tools > SDK Manager。
2)点击 SDK Tools 标签页。
3)选中 NDK (Side by side) 和 CMake 复选框。
根据 SNPE 说明,当前仅支持 android-ndk-r17c-linux-x86 版本,下载地址:
https://github.com/android/ndk/wiki/Unsupported-Downloads#r17c
百度网盘地址如下:
链接: https://pan.baidu.com/s/1viRWgj0ohNBU8n-y4i_gfQ?pwd=mcef 提取码: mcef
下载并解压到指定目录,我这里为 /home/skylook/Develop/Software/android-ndk-r17c。
编辑文件:
1 | sudo gedit ~/.bashrc |
在文件末尾添加(根据你实际目录地址):
1 2 3 4 5 6 7 8 | export NDK=/home/skylook/Develop/Software/android-ndk-r17c export PATH=${PATH}:$NDK export SNPE_ROOT=/home/skylook/Develop/Software/snpe-1.58.0.3160 export PATH=$SNPE_ROOT/bin/x86_64-linux-clang:$PATH export PYTHONPATH=$SNPE_ROOT/lib/python:$PYTHONPATH export LD_LIBRARY_PATH=$SNPE_ROOT/lib/x86_64-linux-clang:$LD_LIBRARY_PATH |
保存并关闭后运行:
1 | source ~/.bashrc |
运行如下命令检查:
1 | ndk-build |
4 安装深度学习框架
3.1 安装 PyTorch
根据 SNPE 说明,当前其仅支持 PyTorch 1.8.1 版本,安装如下:
1 | conda install pytorch==1.8.1 torchvision==0.9.1 torchaudio==0.8.1 cudatoolkit=10.2 -c pytorch |
参考:https://pytorch.org/get-started/previous-versions/
运行如下命令配置环境:
1 | source bin/envsetup.sh -p $PYTORCH_DIR |
其中 $PYTORCH_DIR 代表你安装 PyTorch 的地址,如果不清楚可以运行如下 Python 脚本打印:
1 2 | import torch print(torch.__path__) |
常见问题
1、ModuleNotFoundError: No module named 'attr'
如果在运行 snpe 时出现上述错误,请进行如下操作:
1 2 | pip uninstall attr conda install --force attrs |
2、ModuleNotFoundError: No module named 'pytest'
如果在运行 snpe 时出现上述错误,请进行如下操作:
1 | conda install pytest |