Hi3516/Hi3519DV500移植YOLOV5、YOLOV6、YOLOV7、YOLOV8开发环境搭建--YOLOV5工程编译移植到开发板测试--(5)
-
专栏链接如下:
Hi3516/Hi3519DV500移植YOLOV5、YOLOV6、YOLOV7、YOLOV8开发环境搭建--安装Ubuntu18.04--(1)
Hi3516/Hi3519DV500移植YOLOV5、YOLOV6、YOLOV7、YOLOV8开发环境搭建--安装开发环境AMCT、依赖包等--(2)
Hi3516/Hi3519DV500移植YOLOV5、YOLOV6、YOLOV7、YOLOV8开发环境搭建--安装交叉编译工具链--(3)
Hi3516/Hi3519DV500移植YOLOV5、YOLOV6、YOLOV7、YOLOV8开发环境搭建--安装ATC&MindStudio--(4)
Hi3516/Hi3519DV500移植YOLOV5、YOLOV6、YOLOV7、YOLOV8开发环境搭建--YOLOV5工程编译移植到开发板测试--(5)
一、开发环境准备
1.1、VMware Workstation15 Pro,本专栏采用vmware虚拟机搭建开发环境,若采用物理机原理大同小异。
1.2、Ubuntu18.04镜像,下载地址ubuntu-releases-18.04安装包下载_开源镜像站-阿里云,使用阿里镜像下载速度超级快。
二、MindStudio编译YOLOV5的范例
2.1、复制MindStudio的Samples
打开海思官方的CNN SDK目录,复制samples.tar.gz到/home/huawei/MindStudio-Samples目录内,如下图所示:
解压 ,如下图所示:
2.2、启动MindStudio加载测试工程
启动MindStudio,运行如下脚本,任意目录:
MindStudio.sh
点击open,打开工程,如下图:
选择如下目录内的工程,如下图所示:

点击 Trust project ,如下图:

加载成功,弹窗设置CANN:


配置编译选项,如下图:

编译,如下图:
如下图,已经成功编译了yolo的工程:
三、加载到板端试运行
3.1、 转换yolov5模型为om
打开如下目录:

运行如下脚本:
atc --dump_data=0 --input_shape="images:1,3,640,640" --input_type="images:UINT8" --log_level=0 --online_model_type=0 --batch_num=1 --input_format=NCHW --output="./model/yolov5" --soc_version=Hi3519DV500 --insert_op_conf=./insert_op.cfg --framework=5 --compile_mode=0 --save_original_model=true --model="./onnx_model/yolov5s.onnx" --image_list="images:./data/image_ref_list.txt"
若提示atc未安装,修改环境变量,如下命令:
vim ~/.bashrc
在文件末尾添加如下内容:

使环境变量生效
source ~/.bashrc
再次运行
atc --dump_data=0 --input_shape="images:1,3,640,640" --input_type="images:UINT8" --log_level=0 --online_model_type=0 --batch_num=1 --input_format=NCHW --output="./model/yolov5" --soc_version=Hi3519DV500 --insert_op_conf=./insert_op.cfg --framework=5 --compile_mode=0 --save_original_model=true --model="./onnx_model/yolov5s.onnx" --image_list="images:./data/image_ref_list.txt"
此时可能会有如下报错,未找到依赖的动态库 ,如下图:

继续修改环境变量,增加如下内容,并保存退出,使环境变量生效:

再次运行转换脚本,则转换成功如下图所示:

打开如下目录找到这个文件,说明模型已经转换成功:
3.2、转换测试图片为bin文件
转换测试图片为bin文件,进入如下目录,运行转换脚本:

在此目录打开控制台,其实该目录内已经生成了测试图片的bin文件,此处为了熟悉开发流程
python3.7.5 ../script/transferPic.py 5
成功转换如下图所示:

3.3、拷贝测试文件到开发板端运行
需要src、model、data目录的内容拷贝到开发板内,如下图所示:

板端的内容如下:
拷贝板端运行的依赖库到/usr/lib目录内,如下图所示:

同时拷贝opencv库到板子端,如下图:

在板子端src、model、data同级目录新建一个yolov5_test文件夹,将下图内的main文件拷贝至yolov5_test目录内
在开发板端将main更改为可执行权限,chmod +x main,然后运行如下命令:
./main 5
运行成功,如下显示:

下载推理后的输出文件看看效果,如下图所示:

效果如下:

至此,yolov5移植验证已经成功,接下来会陆续尝试yolov7、yolov8等模式。
相关文章:
Hi3516/Hi3519DV500移植YOLOV5、YOLOV6、YOLOV7、YOLOV8开发环境搭建--YOLOV5工程编译移植到开发板测试--(5)
专栏链接如下: Hi3516/Hi3519DV500移植YOLOV5、YOLOV6、YOLOV7、YOLOV8开发环境搭建--安装Ubuntu18.04--(1) Hi3516/Hi3519DV500移植YOLOV5、YOLOV6、YOLOV7、YOLOV8开发环境搭建--安装开发环境AMCT、依赖包等--(2)…...
springboot揭秘00-基于java配置的spring容器
文章目录 【README】【1】基本概念:Configuration与Bean【2】使用AnnotationConfigApplicationContext实例化spring容器【2.1】使用java配置简单构建spring容器【2.1.1】AnnotationConfigApplicationContext与Component及JSR-330注解类一起使用 【2.2】使用register…...
docker配置mysql
手动拉取 MySQL 镜像 docker pull mysql 创建并运行 MySQL 容器(docker run) docker run -d \--name mysql \-p 3306:3306 \-e TZAsia/shanghai \-e MYSQL_ROOT_PASSWORD123 \mysql -d:以守护进程(daemon)模式运行…...
说说Dubbo有哪些核心组件?
说说Dubbo有哪些核心组件? 简单来说,就是服务提供者Provider,服务消费者Consumer,服务注册中心Registry,服务监控器Monitor,通信协议Protocol Dubbo 是一款高性能、轻量级的开源 Java RPC 框架࿰…...
视频文件损坏无法播放怎么办?有什么办法可以修复视频吗?
人人都是自媒体的时代,我们已不再满足单纯的图片及声音传播,拍摄短视频的需求日渐增高。但随之也带来了许多问题,比如:拍摄的视频在保存或转移拷贝过程出现问题导致视频文件损坏无法播放。遇到这种情况时怎么办?有什么…...
flutter ios ffi 调试 .a文件 debug可以 release 不行
在 Flutter 中使用 FFI(Foreign Function Interface)时,如果你在调试模式下能够正常工作,而在发布模式下却遇到问题,使用Object-c原生调用可以使用,开启去掉优化也可以,可能的原因在发布模式下&…...
ADB指定进程名称kill进程
adb shell ps | grep <process_name> | awk {print $2} | xargs adb shell killadb shell ps:列出所有正在运行的进程。grep <process_name>:筛选出包含指定进程名称的行。awk ‘{print $2}’:提取输出中的第二列(通常…...
巨好看的登录注册界面源码
展示效果 源码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name"viewport" content"widthdevic…...
Python 数据结构
1.概念 数据结构是计算机科学中的一个核心概念,它是指数据的组织、管理和存储方式,以及数据元素之间的关系。数据结构通常用于允许高效的数据插入、删除和搜索操作。 数据结构大致分为几大类: 线性结构:数组、链表、栈、队列等…...
计算机网络八股文个人总结
1.TCP/IP模型和OSI模型的区别 在计算机网络中,TCP/IP 模型和 OSI 模型是两个重要的网络协议模型。它们帮助我们理解计算机通信的工作原理。以下是它们的主要区别,以通俗易懂的方式进行解释: 1. 模型层数 OSI 模型:有 7 层&#…...
Flutter使用share_plus是提示发现了重复的类
问题描述 我现在下载了share_plus包后发现代码编译不通过,并提示Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt found in modules jetified-kotlin-stdlib-1.8.22 (org.jetbrains.kotlin:kotlin-stdlib:1.8.22) and jetified-kotlin-stdlib-jdk8-1.7…...
【Linux】编辑器vim 与 编译器gcc/g++
目录 一、编辑器vim: 1、对vim初步理解: 2、vim的模式: 3、进入与退出: 4、vim命令模式下的指令集: 移动光标: 删除: cv: 撤销: 其他: 5、vim底行模…...
音频中sample rate是什么意思?
sample rate在数字信号处理中,指的是采样频率,即每秒钟从连续信号中抽取的样本数量。采样频率越高,信号的还原度越高,但同时也会增加计算负担和存储需求。 实际应用场景 在音频处理中,设置合适的采样率可以…...
Java思想
学习韩老师的java课程 一步一步拆解需求,先写死的再写活的 首先我只是写了个输出一个*的程序 然后写了输出靠墙的1到n,n排n个的*符号输出程序 再写了加入空格的实心金字塔程序,最后写了这个镂空的金字塔 一下就是成品 import java.util.Sc…...
演练纪实丨 同创永益圆满完成10月份灾备切换演练支持
2024年10月,同创永益共支持5家客户圆满完成灾备切换演练,共涉及70多套核心系统总切换与回切步骤6000余个,成功率100%,RTO时长均达到客户要求。 其中耗时最短的一次演练仅花费约3个小时,共涉及32套系统的灾备切换演练&a…...
UE Mutiplayer(1):网络概述
文章目录 一、Replication二、基本网络概念2.1 网络模式和服务器类型2.2 Actor复制2.3 网络角色和授权2.4 客户端拥有权2.5 相关性和优先级 三、变量复制四、远程过程调用(RPC) 一、Replication 在虚幻引擎中,在客户端与服务器间同步数据和调用程序的过程被称为复制…...
【SQL Server】中关于 COUNT 的一些使用方式区别
前言 使用 SQL Server时,对表或查询结果计算行数是一种常见的操作。了解一些使用 COUNT(*)、COUNT(1) 和 DISTINCT COUNT等的区别对于编写经过优化的高效查询至关重要。本文我们一起探讨这些使用COUNT方式,了解它们的差异与使用。 方式差异 1、COUNT(…...
第5关:主合取范式
任务描述 编程要求 输入 输出 输入样例 输出样例 任务描述 本关任务:求公式(p∨q)→r的主合取范式。 编程要求 根据提示,在右侧编辑器补充代码,计算并输出公式(p∨q)→r的主合取范式 输入 本题无输入。 输出 在单独的一行中输出公式的主合…...
vscode摸鱼学习插件开发
不知道大家在摸鱼的时候,会不会想要学习? 或者有没有考公人,下班要学习的? 上班时间摸鱼,下班时间不够学习? 为此,我决定开发一个vscode插件,来刷粉笔题 粉笔插件名称:…...
多线程编程与并发控制缓存策略负载均衡数据库优化
本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》 公众号:JAVA开发王大师,专注于天道酬勤的 Java 开发问题中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯 山峯 转载说明:务必注明来源(注明:作者:王文峰…...
Qwen3.5-9B-AWQ-4bit Visual Studio开发者的AI伙伴:C#与.NET项目集成
Qwen3.5-9B-AWQ-4bit Visual Studio开发者的AI伙伴:C#与.NET项目集成 1. 当AI大模型遇上.NET开发 想象一下这样的场景:你在Visual Studio中编写一个ASP.NET Core控制器时,突然卡在某个LINQ查询的实现上。这时,你的IDE不仅能提示…...
RyTuneX:WinUI3驱动的Windows性能优化引擎
RyTuneX:WinUI3驱动的Windows性能优化引擎 【免费下载链接】RyTuneX RyTuneX is a cutting-edge optimizer built with the WinUI 3 framework, designed to amplify the performance of Windows devices. Crafted for both Windows 10 and 11. 项目地址: https:/…...
当你的手柄在Windows上“水土不服“时,内核级虚拟化如何解决问题?
当你的手柄在Windows上"水土不服"时,内核级虚拟化如何解决问题? 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 你是否曾经…...
WeChatMsg终极指南:如何永久保存你的微信聊天记忆
WeChatMsg终极指南:如何永久保存你的微信聊天记忆 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeChatMsg…...
Phi-4-mini-reasoning效果展示:高精度数学题求解与逻辑推导实测
Phi-4-mini-reasoning效果展示:高精度数学题求解与逻辑推导实测 1. 模型核心能力概览 Phi-4-mini-reasoning是一款专注于推理任务的文本生成模型,在数学解题和逻辑分析方面展现出惊人的能力。与通用聊天模型不同,它专为多步推理和精确结论而…...
【高斯混合基本概率假设密度滤波器】【基于基本概率假设密度滤波器的分析实现】【使用GM-CPHD滤波器完成多目标跟踪】(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
无需昂贵显卡,用快马云端ai快速验证openclaw本地知识库问答原型
最近在尝试搭建一个本地知识库问答系统,发现OpenClaw这个开源多模态大语言模型特别适合这个场景。不过本地部署对硬件要求比较高,我的笔记本显卡根本跑不动。好在发现了InsCode(快马)平台,用它的云端AI算力轻松解决了这个问题。下面分享下我的…...
【通信】基于UCB的多智能体多臂老虎机算法降低 OBSS 干扰、提升系统吞吐量与公平性附Matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。👇 关注我领取海量matlab电子书和数学建模资料🍊个人信条:格物致知,完整Matl…...
如何彻底解决Windows热键冲突?5个专业级排查与优化方案
如何彻底解决Windows热键冲突?5个专业级排查与优化方案 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 你是否经…...
教授专栏204| 潘永安:成功研发新型光探测器,促进可编程光子学应用
港科大电子及计算机工程学系系主任及教授潘永安(左)丶博士生牛玥(右)于港科大光子器件实验室合照。可编程光子学利用光传送讯号,能达到比电子学更快丶更节能的运算。然而,现有片上功率监测器的性能不足&…...
