瑞芯微rv1126+yolov3模型转换

文章目录

  • 瑞芯微rv1126+yolov3模型转换
  • 环境准备
  • 一、加载运行docker
    • 1.安装 Docker
    • 2. 加载镜像
  • 二、转换步骤
    • 1.下载yolov3_demo,进入yolov3_demo目录,并从darknet官网下载权重
    • 2.根据目标板卡修改
    • 3.运行文件生成模型文件yolov3_416x416.rknn
  • 三 总结

环境准备

环境 版本
docker rknn-toolkit-1.7.1-docker.tar.gz

教程:教程链接

一、加载运行docker

1.安装 Docker

请根据官方手册安装 Docker(https://docs.docker.com/install/linux/docker-ce/ubuntu/)。

2. 加载镜像

执行以下命令加载镜像:

docker load --input rknn-toolkit-lite-1.7.1-docker.tar.gz

加载成功后,执行“docker images”命令能够看到 rknn-toolkit-lite 的镜像,如下所示:

REPOSITORY TAG IMAGE ID CREATED SIZE
rknn-toolkit-lite 1.7.1 0f3af4fe47c3 1 hours ago 1.31GB

3、 运行镜像
执行以下命令运行 docker 镜像,运行后将进入镜像的 bash 环境。

docker run -t -i --privileged -v /dev/bus/usb:/dev/bus/usb rknn-toolkit:1.7.1 /bin/bash

如果想将自己代码映射进去可以加上“-v :”参数,例如:
docker run -t -i --privileged -v /dev/bus/usb:/dev/bus/usb -v /home/rk/test:/test rknn-toolkit-
lite:1.7.1 /bin/bash

二、转换步骤

1.下载yolov3_demo,进入yolov3_demo目录,并从darknet官网下载权重

下载:yolov3_demo下载地址

cd yolov3_demo
wget https://pjreddie.com/media/files/yolov3-tiny.weights
wget https://pjreddie.com/media/files/yolov3.weights

2.根据目标板卡修改

修改rknn_transform_416x416.py文件中配置文件,增加目标板target_platform=[‘rv1126’]

代码如下(示例):

from PIL import Image
import numpy as np
#from matplotlib import pyplot as pltimport re
import math
import randomfrom rknn.api import RKNNif __name__ == '__main__':# Create RKNN objectrknn = RKNN()# Load tensorflow modelprint('--> Loading model')rknn.load_darknet(model='./yolov3_416x416.cfg', weight="./yolov3.weights")print('done')rknn.config(channel_mean_value='0 0 0 255', reorder_channel='0 1 2', batch_size=1, target_platform=['rv1126'])# Build modelprint('--> Building model')rknn.build(do_quantization=True, dataset='./dataset_416x416.txt', pre_compile=True)print('done')rknn.export_rknn('./yolov3_416x416.rknn')exit(0)

3.运行文件生成模型文件yolov3_416x416.rknn

python rknn_transform_416x416.py

三 总结

在虚拟机中运行docker转换时出现内存不足的情况,后面直接在ubuntu系统中调用docker转换成功,特别要注意设置target_platform=[‘rv1126’],默认目标板为RK1808,不然目标板卡无法调用,单帧推理+后处理耗时250ms左右。

瑞芯微rv1126+yolov3模型转换相关推荐

  1. yolov5-5.0训练模型+瑞芯微rv1126上实现模型部署

    yolov5-5.0训练模型+瑞芯微rv1126上实现模型部署   第一次接触模型训练和在开发板部署,过程曲折,从开始的一脸懵到最后模型部署成功,查阅了不少资料和学习了不少大佬的经验,在这里记录一下过 ...

  2. 瑞芯微rv1126 rtsp+mpp+rga取流

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 瑞芯微rv1126 rtsp+mpp+rga取流 一.mpp解码 二.rga转换 经过测试,使用rtsp+mpp+rga取流1920* ...

  3. 瑞芯微 Rockchip rknn 模型在线预编译

    瑞芯微 Rockchip rknn 模型在线预编译 flyfish 主机Host环境 Distributor ID: Ubuntu Description: Ubuntu 22.04.2 LTS Re ...

  4. [基于瑞芯微RV1126调试RTL8818FU WIFI模组支持STA和AP模式]

    基于瑞芯微RV1126调试RTL8818FU WIFI模组支持STA和AP模式 内核menuconfig配置 内核dts配置 文件系统配置和更改 驱动编译 wifi工具编译 libnl库编译 open ...

  5. 瑞芯微RV1126/1109开发流程之模型转换

    1.环境搭建(PC端ubuntu16.04搭建rknn环境) (1)安装anaconda环境(为了便于管理自己的环境建议安装,安装步骤请自行搜索,本人安装anaconda版本为Anaconda3-20 ...

  6. 瑞芯微RV1126平台----yolov5输出后处理C++实现

    目录 1.前言 2.代码 2.1 padding resize 代码 2.2 瑞芯微yolov5后处理 2.3 坐标框的后处理 3.完整代码

  7. 瑞芯微RV1126部署yolov5-face_模型转换_输出后处理C++实现

    目录 1.模型转换 1.1 yolov5-face的pt模型转为onnx模型 1.2 yolov5-face的onnx模型转换为rknn模型 2.C++代码 2.1 paddi

  8. 瑞芯微RV1126/1109开发流程之驱动升级

    1.1126硬件参数读取 (1)CPU温度读取 46300和47100分别代表46.3.47.1 (2)查看1126的NPU (3)查询NPU驱动版本 dmesg | grep -i galcore ...

  9. 瑞芯微rv1126超频笔记

    Print Encode Frame Rate enable print fps log echo 0x100 > /sys/module/rk_vcodec/parameters/mpp_de ...

最新文章

  1. 面向汽车应用的硬件推理芯片
  2. 偏差是什么?一文读懂偏差
  3. Fedora换源:换成aliyun镜像源
  4. go defer性能测试
  5. Java注释:探究和解释
  6. mysql日期可以保存时区_数据库存储时间的时区问题
  7. android自定义圆圈动画,自定义view实现动画数字圆圈
  8. Android 系统(113)----单机高概率问题处理方法
  9. leetcode(83)—— 删除已排序链表重复元素(Remove Duplicates from Sorted List)
  10. OpenCV图像处理(2)——形态学操作
  11. 程序员之路:python3+PyQt5+pycharm桌面GUI开发
  12. 威纶和s7200通讯线_威纶触摸屏如何与西门子PLC进行通信,教你两种方法吧!
  13. 区块链众生的六个层级,你了解吗?
  14. python批量合并mp4视频
  15. 伦敦金走势图与顾比均线
  16. Spark Streaming 图片处理案例介绍
  17. Anaconda 虚拟环境:pyuic之找不到模块之最后的希望(最新)
  18. 通过Java生成.pfx(.p12)证书文件
  19. swell word
  20. perp系列之二:perp源码README

热门文章

  1. es同步mysql方案_ES数据同步方案
  2. python实验课_#012python实验课
  3. DSPE-PEG-APRPG, APRPG-PEG-DSPE,磷脂-聚乙二醇-靶向肽APRPG供应
  4. oracle三张表左连接
  5. C++学习(一一二)代码review是什么
  6. 从编程基础到内测分发,五步让你成为 iOS 开发者高手
  7. [进阶] list 过滤 stream 的lambda进阶操作, 这一篇就够了
  8. 对Vector中的值进行排序
  9. C++ vector排序
  10. 泰坦钩长还是机器人钩长,LOL:下路4大钩子辅助,来评测一下,谁才是最强的那个?...