在rk3399上配置Tengine AI框架

参考链接: 在 RK3399 开发板上部署 Tengine AI 框架.

  1. 下载源码
    从https://github.com/OAID/tengine/下载源码
git clone --recurse-submodules https://github.com/OAID/tengine/

注:一定要加 --recurse-submodules 不然可能源码下载不全

  1. 安装依赖
sudo apt-get install libprotobuf-dev protobuf-compiler libopencv-dev  pkg-config
  1. 修改配置文件
    打开tengine/default_config目录下的arm64_linux_native.config文件,修改第44行,将BUILD_SERIALIZER=n改为BUILD_SERIALIZER=y
    否则后面运行mobilenetSSD网络的时候可能会遇到Shared library not found: libcaffe-serializer.so: cannot open shared object file: No such file or directory这个错误。
  2. 编译
    在tengine目录下的终端内输入
./linux_build.sh default_config/arm64_linux_native.config
  1. 下载 model 文件
    运行这些 AI 应用的时候,需要加载对应的 model 文件,这些文件可以从 OPEN AI LAB 提供的网盘里下载:
    网址:https://pan.baidu.com/s/1Ar9334MPeIV1eq4pM1eI-Q
    提取码:hhgc
    本文中只下载了squeezenet.tmfilemobilenet.tmfileMobileNetSSD_deploy.prototxtMobileNetSSD_deploy.caffemodel这四个文件。
    并将其放在tengine/models目录下
  2. 运行 benchmark
    编译完成后默认会在 build/benchmark/bin/目录下生成两个供测试用的 benchmark 文件,可以直接执行这两个文件,用来简单的测试,确实是否真正编译成功。
./build/benchmark/bin/bench_mobilenet 
./build/benchmark/bin/bench_sqz 

成功运行结果如下图所示:
在rk3399上配置Tengine AI框架_第1张图片

  1. 运行MobileNetSSD网络demo
    修改tengine/examples目录下linux_build.sh文件。根据实际情况,正确设置 Tengine 的所在路径,比如我下载编译的 Tengine 代码在 /home/pi/tengine 目录下:
cmake -DTENGINE_DIR=/home/pi/tengine \

然后在 examples 目录下执行如下命令:

mkdir build
cd build/
../linux_build.sh 
make

测试mobilenetSSD网络执行如下命令

./mobilenet_ssd/MSSD -i ../../tests/images/ssd_horse.jpg

测试后的图片文件保存在
tengine/examples/build/文件夹下,名字为Mobilenet_SSD.jpg.jpg,其效果如下图所示:
在rk3399上配置Tengine AI框架_第2张图片
深度学习模型转换(tensorflow2caffe): https://www.jianshu.com/p/96ed66372178.

你可能感兴趣的:(深度学习)