1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 瑞芯微rv1126+yolov3模型转换

瑞芯微rv1126+yolov3模型转换

时间:2022-09-07 06:53:27

相关推荐

瑞芯微rv1126+yolov3模型转换

瑞芯微rv1126+yolov3模型转换

文章目录

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

环境准备

教程:教程链接

一、加载运行docker

1.安装 Docker

请根据官方手册安装 Docker(/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 SIZErknn-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_demowget /media/files/yolov3-tiny.weightswget /media/files/yolov3.weights

2.根据目标板卡修改

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

代码如下(示例):

from PIL import Imageimport numpy as np#from matplotlib import pyplot as pltimport reimport mathimport 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左右。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。