当前位置: 首页 > news >正文

瑞幸微RK系列平台的YOLO部署(上篇)

🎇环境配置

🎉前言

部署的第一步是对环境的配置,不同的平台的平台需要依赖的环境不同,之前在英伟达的Jetson系列部署过,其主要是需要配置CUDACUDNN的环境,需要加速推理的话可能还需要TensorRT的环境。
瑞幸微使用的是NPU推理,这一点与英伟达不同。我们需要对瑞芯微RK系列平台进行配置才能够进行部署

🎉部署流程

需要提前安装好AnocondaLinux平台),并创建个虚拟环境,以免影响其他项目。

在这里插入图片描述

🎉安装依赖RKNN-ToolKit2库

🎈(1)安装RKNN-Toolkit2依赖库
下载RKNN官方的工具包“rknn-toolkit2-2.1.0”,进入到里面的packages文件夹,在虚拟环境中使用下面命令安装依赖


pip3 install -r rknn-toolkit2/packages/requirements_cpxx.txt  
嫌弃速度慢可以添加清华源
pip install -r requirements_cp39-2.1.0.txt  -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
some-package

对应的版本信息如下:
在这里插入图片描述

🎉安装RKNN-ToolKit2

pip3 install rknn-toolkit2/packages/rknn_toolkit2-x.x.x+xxxxxxxx-cpxx-cpxx-linux_x86_64.whl

包名格式为:rknn_toolkit2-{版本号}+{commit号}-cp{Python版本}-cp{Python版本}-linux_x86_64.whl,例
如:rknn_toolkit2-1.5.2+b642f30c-cp36-cp36m-linux_x86_64.whl。
在这里插入图片描述

 pip install rknn_toolkit2-2.1.0+708089d1-cp39-cp39-linux_x86_64.whl

在这里插入图片描述

🎉环境构建

🎈(1)模型转换
完成上述步骤之后,我们就可以进行模型转换了,下载对应的模型,以yolov5为例,这里我使用瑞芯微官方提供的RKNN Model Zoo
简介:RKNN Model Zoo 是由瑞芯微(Airockchip)提供的一系列经过优化的模型集合。其文件如下所示

rknn_model_zoo-2.1.0
├── 3rdparty # 第三方库
├── datasets # 数据集
├── examples # 示例代码
├── utils # 常用方法,如文件操作,画图等
├── build-android.sh # 用于目标为 Android 系统开发板的编译脚本
├── build-linux.sh # 用于目标为 Linux 系统开发板的编译脚本
└── ──

里面有很对使用例子,examples文件夹

rknn_model_zoo-2.1.0
├── examples
│ └── resnet
│ ├── cpp # C/C++ 版本的示例代码
│ ├── model # 模型、测试图片等文件
│ ├── python # 模型转换脚本和 Python 版本的示例代码
│ └── README.md
└── ...

🎈(2)交叉编译
在虚拟机或者性能较为强大的平台安装交叉编译工具,在电脑端编译好,然后传送到板载端运行即可。这里交叉编译工具使用官方的交叉编译工具链:aarch64-buildroot-linux-gnu_sdk-buildroot.tar.gz
下载完毕后,进行解压:

unzip rknn_model_zoo-2.1.0.zip
 chmod -R 777rknn_model_zoo-2.1.0

终端控制编译器的环境变量

export GCC_COMPILER=/home/weima/aarch64- buildroot-linux-gnu_sdk-buildroot/bin/aarch64-buildroot-linux-gnu

开始构建

./build-linux.sh -t rk3588 -a aarch64 -d yolov5

如果没有构建成功,请你rm -f install删除重新构建,并检查终端的环境变量是否正常。

在这里插入图片描述

将生成在 install/rk3588_linux_aarch64 目录下的 rknn_yolov5_demo 文件夹拷贝到开发板上。进入到推送到开发板的目录 rknn_yolov5_demo 下,在开发板终端执行以下命令,使
bus.jpg 进行推理,执行结果如下图。

在这里插入图片描述

相关文章:

  • Python学习笔记(列表)
  • 使用wpa_cli和wpa_supplicant配置Liunx开发板的wlan0无线网
  • idea的快捷键使用以及相关设置
  • mybatis--多对一处理/一对多处理
  • 数据库的种类及常见类型
  • L3-027 可怜的复杂度(纯暴力)
  • 供应链管理:供应链管理的边界
  • HTTP协议 --- 超文本传输协议 和 TCP --- 传输控制协议
  • 什么是端点日志监控
  • spark中,shuffle read和shuffle write的先后顺序是什么
  • 测试知识点总结
  • 记录学习的第二十五天
  • 自动化三维扫描:CASAIM外观尺寸智能检测
  • Makefile教程
  • 论文学习:《EVlncRNA-net:一种双通道深度学习方法,用于对实验验证的lncRNA进行准确预测》
  • 操做系统----第二章:多进程图像之CPU管理
  • PTA | 实验室使用排期
  • Arduino Uno R3连接HC-03
  • MVC 模式深度解析与 Spring 框架实践研究
  • Python运算符
  • 福建海警位金门附近海域依法开展常态化执法巡查
  • 2025欧亚经济合作发展论坛在沪举办
  • 神舟二十号载人飞行任务新闻发布会将于4月23日上午召开
  • 2025年度沪惠保参保今开启:保费不变,国内特药种类扩增
  • 我们的免疫系统,是世界上最好的“医生”
  • 俄乌就不打击民用基础设施释放对话信号