参考项目:GitHub - gesanqiu/SNPE_Tutorial: A simple tutorial of SNPE.

 git clone https://github.com/gesanqiu/SNPE_Tutoria

下载下来

打开SNPE_Tutorial-main/README.md,里面有安装的环境配置

Ubuntu下的安装:

主要的安装步骤:

更新软件源并安装:

sudo apt-get update

sudo apt-get upgrade

安装build-essential:

sudo apt-get install build-essential

安装gcc :

sudo apt install gcc

安装g++:

sudo apt install g++

安装cmake:

sudo snap install cmake --classic

主要安装的依赖

sudo apt-get install libjson-glib-dev libgflags-dev libjsoncpp-dev libmosquitto-dev mosquitto mosquitto-clients libspdlog-dev libfmt-dev

安装GStreamer1.0

sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio

安装Opencv:

参考链接:Ubuntu 安装 OpenCV 4.5.5_ubuntu安装opencv4.5-CSDN博客

下载源码:wget https://github.com/opencv/opencv/archive/refs/tags/4.5.5.zip

解压:unzip opencv-4.5.5.zip

编译:

cd opencv-4.5.5

mkdir build && cd build

cmake -D WITH_TBB=ON -D WITH_EIGEN=ON -D OPENCV_GENERATE_PKGCONFIG=ON  -D BUILD_DOCS=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF  -D WITH_OPENCL=OFF -D WITH_CUDA=OFF -D BUILD_opencv_gpu=OFF -D BUILD_opencv_gpuarithm=OFF -D BUILD_opencv_gpubgsegm=O -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv455 ..

make

sudo make install

下载ndk:

wget https://googledownloads.cn/android/repository/android-ndk-r26b-linux.zip

解压:unzip android-ndk-r26b-linux.zip

SNPE_Tutorial-main/CMakeLists.txt的修改:

修改opencv的路径:之前安装的路径

set(OpenCV_DIR "/usr/local/opencv455/lib/cmake/opencv4")

修改SNPE的路径:

安装SNPE参考:SNPN 的安装-CSDN博客

set(SNPE_INCLUDE_DIR /home/test/SNPE/snpe_2_15/include/SNPE)

set(SNPE_LIBRARY_DIR /home/test/SNPE/snpe_2_15/lib/x86_64-linux-clang)

保存

到SNPE_Tutorial-main目录下:

编译:

mkdir build && cd build

cmake ..

make

make 之后会报错缺少libc++.so.1包和libc++abi.so.1包

sudo find / -name libc++.so.1

在ndk中找到这个包:

/home/test/SNPE/android-ndk-r26b/toolchains/llvm/prebuilt/linux-x86_64/lib/libc++.so.1

将这个包复制到/lib/x86_64-linux-gnu/下

sudo cp /home/test/SNPE/android-ndk-r26b/toolchains/llvm/prebuilt/linux-x86_64/lib/libc++.so.1 /lib/x86_64-linux-gnu/

同理 libc++abi.so.1 也一样

sudo find / -name libc++abi.so.1

sudo cp /home/test/SNPE/android-ndk-r26b/toolchains/llvm/prebuilt/linux-x86_64/lib/libc++abi.so.1 /lib/x86_64-linux-gnu/

再重新编译。

有时会报代码没有返回值的错误,到对应的文件添加返回值即可。

只做了图片的测试:

在SNPE_Tutorial-main/build/目录下运行:

./test/test_image/test-image --input ../test/test_image/people.jpg --labels ../model/yolov5s_labels.txt --config_path ../test/test_image/config.json

结果保存在build目录下面。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐