栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

瑞芯微rv1126+yolov3模型转换

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

瑞芯微rv1126+yolov3模型转换

瑞芯微rv1126+yolov3模型转换

文章目录

瑞芯微rv1126+yolov3模型转换环境准备一、加载运行docker

1.安装 Docker2. 加载镜像 二、转换步骤

1.下载yolov3_demo,进入yolov3_demo目录,并从darknet官网下载权重2.根据目标板卡修改3.运行文件生成模型文件yolov3_416x416.rknn 三 总结


环境准备
环境版本
dockerrknn-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 plt

import re
import math
import random

from rknn.api import RKNN


if __name__ == '__main__':

    # Create RKNN object
    rknn = RKNN()

    # Load tensorflow model
    print('--> 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 model
    print('--> 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左右。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/766920.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号