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

做电商的几个网站福州模板做网站

做电商的几个网站,福州模板做网站,iframe 网站前台模板,全国货运信息网配货自己有点笨#xff0c;查资料查了一周才完美的实现了yolov5在rk3588环境下的运行#xff0c;在这里写具体步骤希望大家少走弯路。具体步骤如下#xff1a; 一、yolov5的原代码下载及pt文件转换为onnx文件 1.yolov5的原代码下载及环境搭建 在这里一定要下载正确版本的源代码…        自己有点笨查资料查了一周才完美的实现了yolov5在rk3588环境下的运行在这里写具体步骤希望大家少走弯路。具体步骤如下 一、yolov5的原代码下载及pt文件转换为onnx文件 1.yolov5的原代码下载及环境搭建 在这里一定要下载正确版本的源代码否则pt到onnx文件的转换很容易出错。进入网盘链接下载即可https://pan.baidu.com/s/1D-9UzyfNgrACdqliLwkrEg 提取码qnbv 下载后在\yolov5-master\文件夹下打开requirements.txt文件里面有很多需要安装的包根据这个文件安装好所有yolov5需要的包即可。 2.pt文件转换为onnx文件 yolov5训练好的权重文件为pt文件由于训练麻烦在这里我们用自带的yolov5s.pt文件转换。我已经将这个文件放在\yolov5-master\文件夹下面大家可以找到。 在转换之前我们需要对yolov5的几个py文件做个修改。修改如下 (1) 修改models/yolo.py Detect类下的forward函数。首先将该forward函数注释了一定记着模型训练时必须用这个函数不要删了再修改为下面的函数即可 def forward(self, x):z [] # inference outputfor i in range(self.nl):x[i] self.m[i](x[i]) # convreturn x 修改前的函数如下代码已经被我注释 # def forward(self, x):# z [] # inference output# for i in range(self.nl):# x[i] self.m[i](x[i]) # conv# bs, _, ny, nx x[i].shape # x(bs,255,20,20) to x(bs,3,20,20,85)# x[i] x[i].view(bs, self.na, self.no, ny, nx).permute(0, 1, 3, 4, 2).contiguous()## if not self.training: # inference# if self.dynamic or self.grid[i].shape[2:4] ! x[i].shape[2:4]:# self.grid[i], self.anchor_grid[i] self._make_grid(nx, ny, i)## if isinstance(self, Segment): # (boxes masks)# xy, wh, conf, mask x[i].split((2, 2, self.nc 1, self.no - self.nc - 5), 4)# xy (xy.sigmoid() * 2 self.grid[i]) * self.stride[i] # xy# wh (wh.sigmoid() * 2) ** 2 * self.anchor_grid[i] # wh# y torch.cat((xy, wh, conf.sigmoid(), mask), 4)# else: # Detect (boxes only)# xy, wh, conf x[i].sigmoid().split((2, 2, self.nc 1), 4)# xy (xy * 2 self.grid[i]) * self.stride[i] # xy# wh (wh * 2) ** 2 * self.anchor_grid[i] # wh# y torch.cat((xy, wh, conf), 4)# z.append(y.view(bs, self.na * nx * ny, self.no))## return x if self.training else (torch.cat(z, 1), ) if self.export else (torch.cat(z, 1), x) 2修改yolov5-master/export.py文件 把第838行的--opset的defaut修改为12一定要修改为12修改后的代码如下 parser.add_argument(--opset, typeint, default12, helpONNX: opset version) 如果运行export.py报错则修改export.py文件的760行的代码修改前后的代码如下 修改前 shape tuple((y[0] if isinstance(y, tuple) else y).shape) # model output shape 修改后 shape tuple(y[0].shape) 其他修改的地方在以上百度网盘的yolov5的代码中已经修改完其中以上几步也已经修改完。大家直接运行即可。 运行方式直接运行pycharm文件或者终端运行python export.py 注意 如果下载了其他的yolov5除了修改上述的内容还需要修改export.py的其他内容如下 1.修改export_saved_model函数和run函数里面的一些参数基本上模型参数比如置信度等 2.修改parse_opt函数里面的一些参数常见修改如下 1--weights后面需要修改为我们生成的pt文件的路径可以是相对路径或者绝对路径如我将要转换的模型yolov5s.pt用相对路径修改后如下 parser.add_argument(--weights, nargs, typestr, defaultyolov5s.pt, helpmodel.pt path(s)) 2--include后面修改为“onnx,y因为我们要转换为onnx型。转换后如下 parser.add_argument(--include,nargs,default[onnx],#torchscripthelptorchscript, onnx, openvino, engine, coreml, saved_model, pb, tflite, edgetpu, tfjs, paddle) 3也可以修改--iou-thres和--conf-thres参数该参数是yolov5的置信度会影响模型最终检测的精度但不会影响pt文件转换为onnx文件的成功与否。其他的大家可以根据需要进行修改前面的修改后Pt文件就可以成功转换为onnx文件了。 二、onnx文件转换为rknn文件 第一步将pt文件转换为了onnx文件这里开始将onnx文件转换为rknn文件这步转换我们需要搭建ubuntu20.04的虚拟环境然后在ubuntu20.04的虚拟环境下转换我开始用的ubuntu18.04的虚拟环境但转换失败所以大家还是乖乖的用ubuntu20.04吧 1.搭建ubuntu20.04环境这里不作具体介绍 大家去官网下载ubuntu-20.04.6-desktop-amd64.iso文件即可下载后需要下载VMware-workstation-full-17.0.0-20800274.exe大家可以去百度网盘下载链接如下https://pan.baidu.com/s/1UHU9ZiCNpqUbazdg0NW7sQ 提取码rpff 之后具体的安装可以参照如下网址【Ubuntu 20.04 虚拟机安装教程详解】_ubuntu20 虚拟机_千北的博客-CSDN博客 2.安装Anaconda3 第1步安装好ubuntu20.04环境后我们首先要安装Anaconda3具体安装步骤如下 1下载Anaconda3-2021.11-Linux-x86_64.sh文件可以进入百度网盘下载下载路径如下 链接https://pan.baidu.com/s/1egRszYlWcpwhmt3-VEH3lA 提取码bg0c 2加入下载后将该文件放在了public文件夹下面然后我们进入该文件夹打开终端如下图所示 然后在终端输入su进入根目录在根目录下运行bash Anaconda3-2021.11-Linux-x86_64.sh即可运行完后关闭终端然后再次打开终端终端运行conda-env list看是否安装好了Anaconda3。 3.rknn-toolkit2文件的搭建 第2步搭建好了Anaconda3我们接下来就可以搭建rknn-toolkit2文件了具体步骤如下 1下载rknn-toolkit2文件可以通过百度网盘下载下载路径如下 链接https://pan.baidu.com/s/1QzyAG23WMMjmOLDW3J8ZGA 提取码vs3c下载后将该文件放在你要放的文件夹下面我放在了home/下面。 新建一个rknn环境如下(这里一定是python3.8其他版本容易转换出错) conda create -n rknn python3.8 然后激活该环境 conda activate rknn 进入home/rknn-toolkit2-master/doc/路径该路径有一个requirements_cp38-1.5.2.txt文件然后终端运行代码 pip install -r requirements_cp38-1.5.2.txt -i https://mirror.baidu.com/pypi/simple返回上一级目录然后进入packages目录安装rknn_toolkit2 pip install rknn_toolkit2-1.5.2b642f30c-cp38-cp38-linux_x86_64.whl 完成后输入命令 python from rknn.api import RKNN 运行以上命令若不报错则说明已经成功安装了rknn-toolkit2然后退出python,如下图 把yolov5生成的onnx文件放到examples/onnx/yolov5文件夹下然后终端进入该文件夹再打开该文件夹的test.py文件对里面的内容进行修改具体修改如下 上图的第11行是我们要转换的onnx文件的路径相对路径或者绝对路径都可以。 第12行是转换后的rknn文件的路径及文件名称。 第13行是我们要检测的图片的路径第14行是数据的路径第22行是我们的要检测的目标名称。这里用了官方的pt文件所以写了80个类后面可以根据我们要检测的实际的类进行修改。 然后再对第241行的target_platform修改为rk3588因为我是要将该模型放在rk3588系统里如果写成其他转换后的rknn放到rk3588系统会报错。 最后运行test.py文件即可成功后在该文件夹下会生成对应的rknn文件。注意一般转移这个文件需要解除权限。我们在终端运行以下代码解除文件权限即可。 chmod -R 777 文件名 至此我们的onnx转换为rknn文件完毕 接下来是将rknn文件部署在rk3588系统里。 三、rk3588部署rknn文件 在第二步生成rknn文件后接下来是如何部署在rk3588系统里具体步骤如下 首先在rk3588系统的ubuntu20.04环境下运行 git clone https://github.com/rockchip-linux/rknpu2.git 然后进入yolov5目录运行 cd /home/ptay/rknpu2-master/examples/rknn_yolov5_demo 再修改include文件中的头文件postprocess.h #define OBJ_CLASS_NUM 2 #这里的数字修改为数据集的类的个数 修改model目录下的coco_80_labels_list.txt文件改为自己的类并保存(比如我要检测的类为person,moto) person moto 将我们在ubuntu20.04虚拟环境下转换后的rknn文件放在rknpu2/examples/rknn_yolov5_demo/model/RK3588/目录下然后终端切换到rknpu2/examples/rknn_yolov5_demo/运行以下代码 bash ./build-linux_RK3588.sh 然后会在该文件下生成install目录更新该文件夹即可看到include文件夹. cd install/rknn_yolov5_demo_linux 在model目录下放入需要推理的图片 运行 ./rknn_yolov5_demo ./model/RK3588/best.rknn ./model/bus.jpg 运行后即可获得需要的结果。 当然最后一步可以通过python运行如果用python 运行我们需要写一个demo.py文件如下 import cv2 import subprocessp subprocess.Popen([./rknn_yolov5_demo, ./model/RK3588/best.rknn, ./model/bus.jpg]) p.wait() picDetected cv2.imread(out.jpg) # cv2.imshow(ss,picDetected) # cv2.waitKey(0) 然后在该文件夹运行 python demo.py 在同级文件夹下会生成一个out.jpg图片该图片就是用rknn模型检测的图片结果。到这里我们就完成了从pt文件到rk3588的模型部署了。 完成以上环境部署后后面多个模型时可以根据实际情况进行嵌套检测就简单了。
http://www.zqtcl.cn/news/399197/

相关文章:

  • 网站开发产品需求说明小网站代码
  • 苏州网站推广排名网站建设方案范文8篇
  • 自己做考试题目网站广州番禺区美食攻略
  • 广州做网站如何如何制作一个网页
  • 网站定制开发收费标准是多少网站代码优化方案
  • 制作卡牌的网站深圳正规煤气公司
  • 手表网站哪家好网站用图片
  • 群辉nas 做网站wordpress linux 中文
  • 平面设计素材网站排名巩义网站建设方案表
  • 延庆网站制作搜索引擎优化的基础是什么
  • 管理手机网站商城网站备案流程
  • 怀化买房网站网站广告js代码添加
  • 做网站 帮别人卖服务器wordpress主题多页面
  • 代理游戏网站潍坊市建设工程管理处网站
  • 大同推广型网站建设网站规划建设与管理维护第二版答案
  • 做网站需要代码吗户外媒体网站建设免费
  • 做什么网站国外做图标网站
  • 网站建设技术部职责门户网站工作总结
  • 用个人电脑做服务器建网站急切网头像在线制作图片
  • 企业网站制作教程浙江省住房和城乡建设厅网站
  • 一个网络空间如何做两个网站哪个网站兼职做设计比较好
  • jquery代码做的网站免费搭建网站模板
  • 铁路建设监理协会官方网站邯郸市网
  • 马鞍山集团网站建设客流分析系统公司
  • 淘客网站怎么做啊抖音怎么挂小程序赚钱
  • 在哪里申请网站域名美妆销售网站开发的目的
  • 网站自动跳转施秉网站建设
  • 聊城做网站的公司咨询学校网站模板 dedecms
  • 网站域名查询赣州网站设计有哪些
  • 网站设计做多宽150m网站空间流量大吗