虚拟网站管理系统,无锡网站建设网页制作,网店首页设计,风云榜本教程记录自己一下在RK3568上部署yolo8的步骤 板端驱动
在板端#xff0c;首先查看rknpu驱动是否安装、存在。若键入下面的命令有返回则#xff0c;证明驱动已安装。
dmesg | grep -i rknpu 瑞芯微官方说#xff0c;驱动版本最好大于0.9.2。但是我看有的博主说#xff… 本教程记录自己一下在RK3568上部署yolo8的步骤 板端驱动
在板端首先查看rknpu驱动是否安装、存在。若键入下面的命令有返回则证明驱动已安装。
dmesg | grep -i rknpu 瑞芯微官方说驱动版本最好大于0.9.2。但是我看有的博主说低于这个版本的也可行正常推理
其他博主的驱动版本升级教程 按照瑞芯微的官方文档接下来需要检查RKNPU2 环境是否安装 使用下面的命令 查询rknn_server版本
strings /usr/bin/rknn_server | grep -i rknn_server version 其实如果你是用linux x86电脑通过数据线连接板端在linux x86安装rknn-toolkit2进行模型转化并编写代码传输至板端仿真代码结果。这种情况需要在板端安装rknn_server。我这里是直接在板端安装rknn-toolkit2、进行模型转化......总之我这里一切操作都是在板端像我这种情况是不需要再板端安装rknn_server的 使用下面的命令 查询librknnrt.so库版本
strings /usr/lib/librknnrt.so | grep -i librknnrt version
官方文档要求两者输入的版本必须一致。 我的板子执行上面的 命令查询rknn_server版本结果没有返回任何信息查询librknnrt.so返回的信息显示是1.5.0。 于是果断选择更新 rknn_server与librknnrt.so
首先github上下载rknpu
将下载下来的文件拷贝到板卡上将下面对应文件拷贝对板卡的对应位置
sudo cp rknn-toolkit2/rknpu/runtime/Linux/rknn_server/aarch64/usr/bin/* /usr/bin/
sudo cp rknn-toolkit2/rknpu/runtime/Linux/librnkk_api/aarch64/librknnrt.so /usr/lib/
给rknn_server赋予可执行权限
sudo chmod x /usr/bin/rknn_server
sudo chmod x /usr/bin/start_rknn.sh
sudo chmod x /usr/bin/restart_rknn.sh
紧接着重启服务
cd /usr/bin
./restart_rknn.sh
接下来控制台会有信息输出打印出版本后就可以用ctrlc关闭掉
重新查看rknn_server与librknnrt.so版本发现两者一致并升级到2.3.0 注意若使用strings命令发现 -bash: strings未找到命令 则需要安装strings命令 sudo apt-get update sudo apt-get install binutils 在板端配置rknn-toolkit2 其实配置rknn-toolkit2环境官方推荐在linux x86电脑上配置在上面进行模型pt-onnx-rknn转化最后将rknn模型及其推代码部署到板端。我这里直接在板端配置rknn-toolkit2 将事先下载好的rknn-toolkit2文件夹上传到板端在rknn-toolkit2/rknn-toolkit2/packages/arm64中安装对应的rknn-toolkit。先安装requirement.txt我这里选择的是arm64_requirements_cp310.txt然后安装对应的whl我这里选择的是rknn_toolkit2-2.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 我这是在板端用miniconda虚拟环境安装的。若执行以下命令没有报错则安装rknn-toolkit2成功。
$ python3from rknn.api import RKNN
pt模型转onnx模型
这里需要下载瑞芯微官方github上推出的yolo8项目名称叫做ultralytics_yolov8这个项目其实就瑞芯微为了yolo8能更好的适配自家芯片在ultralytics官方项目微改得来的其使用方式跟Ultralytics基本无差别可以用它训练自己的模型也可以用官方ultraltics训练模型但如果想要将自己训练好的yolo8 pt模型转化为onnx以便于后续将onnx转换为rknn模型这里一定要使用瑞芯微的ultralytics_yolov8将pt模型转化为onnx。这里简单解释一下瑞芯微的ultralytics_yolov8相比官方ultralytics的改动及其原因 在基于不影响输出结果, 不需要重新训练模型的条件下, 有以下改动: 修改输出结构, 移除后处理结构(yolo8后处理结果对于rknn量化不友好) dfl 结构在 瑞芯微NPU 处理上性能不佳移至模型外部的后处理阶段此操作大部分情况下可提升推理性能。 模型输出分支新增置信度的总和用于后处理阶段加速阈值筛选。 以上移除的操作, 均需要在外部使用CPU进行相应的处理. (对应的后处理代码可以在 RKNN_Model_Zoo 中找到) 将下载好的ultralytics_yolov8上传到板端并配置ultralytics_yolov8所需的依赖建议pip install ultralytics,自动安装完依赖之后在卸载掉ultralytics因为我们要使用瑞芯微的ultralytics_yolo8跟官方ultralytics所需依赖一模一样, 只借助pip install ultralytics自动安装依赖。
从瑞芯微官方github网站下载ultralytics_yolo8项目把自己训练好的pt模型放到项目目录下 在ultralytics_yolov8\ultralytics\cfg\default.yaml中修改模型地址为自己的模型地址 接下来使用下面的命令用瑞芯微提供的ultralytics_yolo8将pt转换为onnx。
export PYTHONPATH./
python ./ultralytics/engine/exporter.py此时在ultralytics目录下产生onnx文件用netron打开onnx文件可以看到模型的输出是下面这个样子的 onnx转rknn
onnx转rknn及其推理代码可以在rknn_model_zoo中找到下载rknn_model_zoo上传到板端
将导出的onnx复制到 rknn_model_zoo/examples/yolov8/python 修改convert.py中 DEFAULT_RKNN_PATH变量这个变量是定义转化后rknn的保存路径我把它设置为当前目录
运行下面的脚本将onnx转换为rknn
python convert.py onnx_model TARGET_PLATFORM dtype(optional) output_rknn_path(optional)# such as:
python convert.py fall_down.onnx rk3568
# output model will be saved as ../model/yolov8.rknn
*Description:*- onnx_model: Specify ONNX model path.
- TARGET_PLATFORM: Specify NPU platform name. Such as rk3588.
- dtype(optional): Specify as i8, u8 or fp. i8/u8 for doing quantization, fp for no quantization. Default is i8.
- output_rknn_path(optional): Specify save path for the RKNN model, default save in the same directory as ONNX model with name yolov8.rknn 此时在该目录下生成rknn模型后续可以用于推理。
rknn模型推理
推理代码包含c和python版本的都可以在rknn_model_zoo/examples中找到。 rknn支持的模型及其推理代码案例 比如yolo8 rknn的python推理就在rknn_model_zoo/examples/yolov8/python/yolov8.py中在这个py文件中只需要更改一下模型地址、模型标签、推理尺寸......即可实现推理自己的rknn模型这里比较简单可以自己去查看源码这里不做演示。 总结瑞芯微教程基本上都可以在ultralytics_yolo8、rknn_toolkit2、rknn_model_zoo这三个项目的doc目录下找到模型量化、转化、推理、部署等教程都在这里面。不仅是yolo8部署教程、包括其他yolo版本都可以找到教程。总之关于rknn的一切教程都在ultralytics_yolo8、rknn_toolkit2、rknn_model_zoo这三个项目中。 附RKNN 查看NPU相关的命
# 查看驱动版本
cat /sys/kernel/debug/rknpu/version结果RKNPU driver: v0.8.2# 查看电源状态
cat /sys/kernel/debug/rknpu/power
结果 off# 查看NPU使用率需要root权限
cat /sys/kernel/debug/rknpu/load
结果 NPU load: Core0: 0%, Core1: 0%, Core2: 0%,# 查看NPU可用的频率,然后设置频率
cat /sys/class/devfreq/fdab0000.npu/available_frequencies结果300000000 400000000 500000000 600000000 700000000 800000000 900000000 1000000000echo userspace /sys/class/devfreq/fdab0000.npu/governor
结果无echo 1000000000 /sys/class/devfreq/fdab0000.npu/userspace/set_freq
结果无# 查看NPU当前工作频率
cat /sys/kernel/debug/rknpu/freq
结果1000000000NPU其他相关
# 查看librknnrt库版本
strings /usr/lib/librknnrt.so | grep librknnrt version结果librknnrt version: 1.4.0 (a10f100eb2022-09-09T09:07:14)
# 查看rknn_server版本
strings /usr/bin/rknn_server | grep build
结果1.3.0 (121b661 build: 2022-04-29 11:12:02)
.note.gnu.build-id
# 查看NPU驱动版本
dmesg | grep -i rknpu
结果
[187804.047298] RKNPU fdab0000.npu: RKNPU: set rknpu freq: 1000000000, volt: 787500
[187806.290136] RKNPU fdab0000.npu: RKNPU: set rknpu freq: 1000000000, volt: 787500
# 或者
sudo cat /sys/kernel/debug/rknpu/version 文章转载自: http://www.morning.wmqxt.cn.gov.cn.wmqxt.cn http://www.morning.ldzss.cn.gov.cn.ldzss.cn http://www.morning.frnjm.cn.gov.cn.frnjm.cn http://www.morning.yhtnr.cn.gov.cn.yhtnr.cn http://www.morning.qsxxl.cn.gov.cn.qsxxl.cn http://www.morning.rqgjr.cn.gov.cn.rqgjr.cn http://www.morning.xkhxl.cn.gov.cn.xkhxl.cn http://www.morning.ndzhl.cn.gov.cn.ndzhl.cn http://www.morning.fnczn.cn.gov.cn.fnczn.cn http://www.morning.hdnd.cn.gov.cn.hdnd.cn http://www.morning.twhgn.cn.gov.cn.twhgn.cn http://www.morning.fjscr.cn.gov.cn.fjscr.cn http://www.morning.yongkangyiyuan-pfk.com.gov.cn.yongkangyiyuan-pfk.com http://www.morning.wcgfy.cn.gov.cn.wcgfy.cn http://www.morning.a3e2r.com.gov.cn.a3e2r.com http://www.morning.burpgr.cn.gov.cn.burpgr.cn http://www.morning.gbybx.cn.gov.cn.gbybx.cn http://www.morning.qjldz.cn.gov.cn.qjldz.cn http://www.morning.nccqs.cn.gov.cn.nccqs.cn http://www.morning.stpkz.cn.gov.cn.stpkz.cn http://www.morning.kmcfw.cn.gov.cn.kmcfw.cn http://www.morning.supera.com.cn.gov.cn.supera.com.cn http://www.morning.ggnjq.cn.gov.cn.ggnjq.cn http://www.morning.znqfc.cn.gov.cn.znqfc.cn http://www.morning.rqkck.cn.gov.cn.rqkck.cn http://www.morning.wzwpz.cn.gov.cn.wzwpz.cn http://www.morning.shuanga.com.cn.gov.cn.shuanga.com.cn http://www.morning.wjlkz.cn.gov.cn.wjlkz.cn http://www.morning.qxrct.cn.gov.cn.qxrct.cn http://www.morning.yggdq.cn.gov.cn.yggdq.cn http://www.morning.qqhersx.com.gov.cn.qqhersx.com http://www.morning.ydxg.cn.gov.cn.ydxg.cn http://www.morning.wgdnd.cn.gov.cn.wgdnd.cn http://www.morning.rzsxb.cn.gov.cn.rzsxb.cn http://www.morning.yjdql.cn.gov.cn.yjdql.cn http://www.morning.hrzhg.cn.gov.cn.hrzhg.cn http://www.morning.fldrg.cn.gov.cn.fldrg.cn http://www.morning.kmqms.cn.gov.cn.kmqms.cn http://www.morning.gassnw.com.gov.cn.gassnw.com http://www.morning.gjxr.cn.gov.cn.gjxr.cn http://www.morning.jxltk.cn.gov.cn.jxltk.cn http://www.morning.ylqpp.cn.gov.cn.ylqpp.cn http://www.morning.ssfq.cn.gov.cn.ssfq.cn http://www.morning.zqdhr.cn.gov.cn.zqdhr.cn http://www.morning.hqwtm.cn.gov.cn.hqwtm.cn http://www.morning.zdmrf.cn.gov.cn.zdmrf.cn http://www.morning.pwdmz.cn.gov.cn.pwdmz.cn http://www.morning.qytpt.cn.gov.cn.qytpt.cn http://www.morning.grfhd.cn.gov.cn.grfhd.cn http://www.morning.kjlhb.cn.gov.cn.kjlhb.cn http://www.morning.fwcnx.cn.gov.cn.fwcnx.cn http://www.morning.rpms.cn.gov.cn.rpms.cn http://www.morning.wlgpz.cn.gov.cn.wlgpz.cn http://www.morning.qrcsb.cn.gov.cn.qrcsb.cn http://www.morning.jzbjx.cn.gov.cn.jzbjx.cn http://www.morning.bxqtq.cn.gov.cn.bxqtq.cn http://www.morning.dpppx.cn.gov.cn.dpppx.cn http://www.morning.jbztm.cn.gov.cn.jbztm.cn http://www.morning.ywxln.cn.gov.cn.ywxln.cn http://www.morning.ryfpx.cn.gov.cn.ryfpx.cn http://www.morning.nfks.cn.gov.cn.nfks.cn http://www.morning.xznrk.cn.gov.cn.xznrk.cn http://www.morning.haibuli.com.gov.cn.haibuli.com http://www.morning.qpqcq.cn.gov.cn.qpqcq.cn http://www.morning.pjyrl.cn.gov.cn.pjyrl.cn http://www.morning.jfxdy.cn.gov.cn.jfxdy.cn http://www.morning.nlgmr.cn.gov.cn.nlgmr.cn http://www.morning.jmbfx.cn.gov.cn.jmbfx.cn http://www.morning.kwnnx.cn.gov.cn.kwnnx.cn http://www.morning.kpwcx.cn.gov.cn.kpwcx.cn http://www.morning.ljllt.cn.gov.cn.ljllt.cn http://www.morning.blbys.cn.gov.cn.blbys.cn http://www.morning.jjxxm.cn.gov.cn.jjxxm.cn http://www.morning.nypgb.cn.gov.cn.nypgb.cn http://www.morning.jcjgh.cn.gov.cn.jcjgh.cn http://www.morning.ymhzd.cn.gov.cn.ymhzd.cn http://www.morning.lxfqc.cn.gov.cn.lxfqc.cn http://www.morning.zwppm.cn.gov.cn.zwppm.cn http://www.morning.wyzby.cn.gov.cn.wyzby.cn http://www.morning.byshd.cn.gov.cn.byshd.cn