参考: https://github.com/hisrg/SNPE/blob/main/Install%20Tutorial%20Guide/Install%20Notes
1.snpe官网下载安装包,各种版本,Downloas-->Software-->Actlive
Snapdragon Neural Processing Engine SDK: Running the AlexNet Model
2.pip安装依赖包
3.加入环境变量
gedit ~/.bashrc
export LD_LIBRARY_PATH="/media/ymm/DATA1/software/snpe-1.51.0.2663/lib/x86_64-linux-clang:$LD_LIBRARY_PATH"
export SNPE_ROOT=/media/ymm/DATA1/software/snpe-1.51.0.2663
export PATH="/media/ymm/DATA1/software/snpe-1.51.0.2663/bin/x86_64-linux-clang:$PATH"
export PYTHONPATH=$PYTHONPATH:/media/ymm/DATA1/software/snpe-1.51.0.2663/lib/python
export ANDROID_NDK_ROOT=~/Android/Sdk/ndk-bundle
source ~/.bashrc
4.运行onnx转dlc,需要激活onnx环境,命令如下:
cd /media/ymm/DATA1/software/snpe-1.51.0.2663/bin
source envsetup.sh -o /home/ymm/anaconda3/envs/snpe/lib/python3.6/site-packages/onnx
此时,可能会出现如下错误:
若情况允许可以安装Android Studio, 下载ANDROID_NDK,指定ANDROID_NDK_ROOT,如没有,对于模型转换这一步也没影响的。
export ANDROID_NDK_ROOT=~/Android/Sdk/ndk-bundle
5.进行模型转换
cd /media/ymm/DATA1/software/snpe-1.51.0.2663/bin/x86_64-linux-clang
./snpe-onnx-to-dl -i model.onnx -o model.dlc
若模型转换成功,会出现下面界面
若转换不成功,尝试一下onnxsim,命令如下:
python3 -m onnxsim model.onnx model_sim.onnx
再次执行 ./snpe-onnx-to-dl -i model_sim.onnx -o model.dlc
若仍然转换不成功,可分析模型算子是否支持,修改算子等。
以上为snpe-1.51配置过程,目前snpe-1.65支持snpe-pytorch-to-dlc.。可参考
Snapdragon Neural Processing Engine SDK: PyTorch Model Conversion
与以上不同的是:
1)pip list (多了一些依赖库)
pip install hypothesis pytest torchvision==0.9