caffe转rknn在rv1109上推理

工作介绍

  1. RKNN工具环境配置
  2. 在ubuntu18.04上完成训练好的模型转化成rknn
  3. 将rknn文件进行交叉编译后将可执行demo文件上传到板卡
  4. 在板卡上进行模型推理,保存成图片查看推理效果。

安装ubuntu18.04

https://blog.csdn.net/weixin_44014740/article/details/114978872

sudo apt-get update
sudo apt-get upgrade

RKNN_Toolkit环境配置

按照Rockchip_Quick_Start_RKNN_Toolkit_V1.6.0_CN.pdf
RKNN Toolkit 快速上手指南的3.2节
(注意:文档中给的例子是python3.5,我的python是3.6,安装一些包的时候做相应的修改)

问题1:

安装opencv报错
ModuleNotFoundError: No module named ‘skbuild’
解决:

sudo apt install cmake
pip3 install scikit-build

问题2:

pip安装opencv时卡住
Running setup.py bdist_wheel for opencv-python … /
解决:

pip3 install --upgrade pip

最后能按照手册测试成功即环境配置完成

量化(生成.rknn文件)

用deploy.prototxt和caffemodel以及一些校准图片生成rknn

  • 选择的prototxt和caffemodel要对应
  • prototxt要修改input的格式和删除nms后处理部分

输入数据格式修改成caffe的layer格式

layer {
  name: "data"
  type: "Input"
  top: "data"
  input_param {
    shape {
      dim: 1
      dim: 1
      dim: 240
      dim: 320
    }
  }
}

将后处理部分全部删除

layer {
  name: "detection_out"
  type: "DetectionOutput"
  bottom: "mbox_loc"
  bottom: "mbox_conf_flatten"
  bottom: "mbox_priorbox"
  top: "detection_out"
  include {
    phase: TEST
  }
  detection_output_param {
    num_classes: 2
    share_location: true
    background_label_id: 0
    nms_param {
      nms_threshold: 0.449999988079
      top_k: 400
    }
    code_type: CENTER_SIZE
    keep_top_k: 200
    confidence_threshold: 0.00999999977648
  }
}

完成对prototxt的修改就可以在Ubuntu可视化环境下进行量化

python3 -m rknn.bin.visualization

在这里插入图片描述

  • 由于模型输入是单通道的灰度图,Mean Value和Standard Value为单个值
  • Whether To Enable Pre-Compile选择为True(后续要上板子)

交叉编译

将src里的c++文件的操作编译生成可执行文件(可在本地ubuntu或服务器上进行)
我使用的pelee修改的单通道灰度图网络,由于最后保存成彩色图片查看效果,输入使用使用gray_img,画检测框并保存在rgb_img上进行,所以要在main.cc中进行一定的修改

imread(imgpath,0)#opencv的读图函数0表示灰度图,1表示rgb,默认为1

最后会产生install文件夹,copy到板子上就可以进行推理

安装交叉编译器

包里有交叉编译的工具
在这里插入图片描述解压后将gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf移动到/home/xxx/gcc/

添加环境变量

vim ~/.bashrc
# 在最后添加路径
export PATH="/home/xxx/gcc/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin:$PATH"
# 使用source命令重新加载生效该配置文件
source ~/.bashrc
# 查看安装是否成功
arm-linux-gnueabihf-gcc -v

修改gcc编译路径

回到rv1126_rv1109/external/rknpu/rknn/rknn_api/examples/rknn_mobilenet_demo目录下,打开并修改build.sh文件,操作如下:
在这里插入图片描述

build编译模型./build.sh

./build.sh

会产生build和install文件夹
需要使用的可执行文件在install里

其他sdk例子

path:external/rknpu/rknn/rknn_api/examples/
ssd、yolov5等模型可进行编译后上板子测试

板卡推理

板卡连接

连接:网口或者串口
网口连接:

  1. 要先更改自己的电脑的ip与板卡对应(192.168.0.1)

在这里插入图片描述
在这里插入图片描述
2. MobaXterm 连接板卡ip:192.168.0.100
3. 账户:root,pwd:0801

板卡运行

  1. 将编译生成的install文件夹copy到自己的文件夹下
  2. 提高文件夹权限chmod -R 777 /wyh
  3. 修改run_rv1109_rv1126.sh文件的模型路径和测试图片路径
  4. 执行批处理操作:sh run_rv1109_rv1126.sh
cd ..
cd /wyh/rknn_pelee_demo/
chmod -R 777 /wyh
./run_rv1109_rv1126.sh

结果展示

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值