mindspore mindyolo目标检测华为昇腾上推理使用、训练;华为OBS文件传输使用

news2024/11/26 10:23:44

参考:
https://github.com/mindspore-lab/mindyolo

使用案例:
https://github.com/mindspore-lab/mindyolo/blob/master/GETTING_STARTED.md

安装:

pip install mindyolo

特别注意opencv-python、opencv-python-headless版本问题,不然会遇到ImportError: libGL.so.1: cannot open shared object file: No such file or directory等问题
在这里插入图片描述

推理代码

1)下载项目

git clone https://github.com/mindspore-lab/mindyolo

2)运行测试
模型权重下载:https://github.com/mindspore-lab/mindyolo/blob/master/MODEL_ZOO.md
在这里插入图片描述

测试这种命令形式用华为昇腾npu推理速度不算快

cd mindyolo

# Run with Ascend (By default)华为昇腾npu推理
python demo/predict.py --config ./configs/yolov7/yolov7.yaml --weight=/path_to_ckpt/WEIGHT.ckpt --image_path /path_to_image/IMAGE.jpg

# Run with GPU
python demo/predict.py --config ./configs/yolov7/yolov7.yaml --weight=/path_to_ckpt/WEIGHT.ckpt --image_path /path_to_image/IMAGE.jpg --device_target=GPU

## 我这里用的yolov7-tiny测试
python demo/predict.py --config ./configs/yolov7/yolov7-tiny.yaml --weight=../yolov7-tiny_300e_mAP375-d8972c94.ckpt --image_path  ../17people.jpg --device_target=CPU

在这里插入图片描述

推理图片结果保存在runs_infer/*/detect_results下
在这里插入图片描述

训练代码

参考:https://github.com/mindspore-lab/mindyolo/blob/master/GETTING_STARTED.md

1)下载项目

git clone https://github.com/mindspore-lab/mindyolo

2)数据集制作或者下载第三方,制作数据集对应yaml;mindyolo暂时只支持yolo数据集格式,voc、coco暂时不大支持

数据下载:https://universe.roboflow.com/hero-d6kgf/yolov5-fall-detection/dataset/1

mindyolo yaml格式参考:

data:
    dataset_name: gesture
    train_set: /hom***/yolo/Rock_paper_scissor_test/train/images
    val_set: /home/***/yolo/Rock_paper_scissor_test/valid/images
    test_set: /home/***/yolo/Rock_paper_scissor_test/test/images

    nc: 3
    names: ['Paper', 'Rock', 'Scissor']

yolov8n1.yaml

__BASE__: [
  '/home/***/yolo/Rock_paper_scissor_test/data.yaml',
  './hyp.scratch.low.yaml',
  './yolov8-base.yaml'
]

network:
  depth_multiple: 0.33  # scales module repeats
  width_multiple: 0.25  # scales convolution channels
  max_channels: 1024

其他定义参数可以yolov8-base.yaml、hyp.scratch.low.yaml里更改,比如nc、names 训练的目标分类数量,或者训练train.py 传入

逐级覆盖,所有可配置参数满足,命令行直接传入 > yolov8n.yaml > yolov8-base.yaml > hyp.yaml > coco.yaml

在这里插入图片描述

3)训练

#单卡 也可以是on 1 NPU/GPU/CPU:
python train.py --config ./configs/yolov8/yolov8n1.yaml --device_target Ascend

##多卡
mpirun --allow-run-as-root -n 2 python train.py --config ./configs/yolov7/yolov7.yaml  --is_parallel True

在这里插入图片描述

在这里插入图片描述

训练报错:

解决方法:
mindyolo/data/dataset.py Line 198 self.imgIds =
[int(Path(im_file).stem) for im_file in self.img_files]
由于采用自定义数据集,图片并非按照 int value.jpg 的格式保存,故改为 self.imgIds = [index for
index in range(len(self.img_files))]

在这里插入图片描述

5)训练好的模型预测:

python demo/predict.py --config ./configs/yolov8/yolov8n1.yaml --weight ./runs/2023.11.14-18.58.18/weights/yolov8n1-100_82.ckpt  --image_path ../1a.jpeg 

预测结果在runs_infer/下
在这里插入图片描述

在这里插入图片描述

华为OBS文件传输使用

下载客服端然后上传桶内:
在这里插入图片描述

然后拷贝桶内内容到云服务器里:
参考:https://support.huaweicloud.com/moxing-devg-modelarts/modelarts_11_0005.html#section5
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1213554.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

阿里云2核2G3M带宽服务器,新老用户同价99元/年!续费不涨价!

作为双11服务器中备受用户关注的一款,轻量服务器2核2G3M带宽优惠价87元一年的价格令人惊喜。不仅价格实惠,而且配置也十分出色。2核2G的配置足够应对一般网站和轻量级应用的需求,同时3M的带宽也能够保障数据的快速传输。对于个人网站、小型企…

CSDN每日一题学习训练——Java版(二叉搜索树迭代器、二叉树中的最大路径和、按要求补齐数组)

版本说明 当前版本号[20231115]。 版本修改说明20231115初版 目录 文章目录 版本说明目录二叉搜索树迭代器题目解题思路代码思路参考代码 二叉树中的最大路径和题目解题思路代码思路参考代码 按要求补齐数组题目解题思路代码思路参考代码 二叉搜索树迭代器 题目 实现一个二…

DevExpress WinForms HeatMap组件,一个高度可自定义热图控件!

通过DevExpress WinForms可以为Windows Forms桌面平台提供的高度可定制的热图UI组件,体验DevExpress的不同之处。 DevExpress WinForms有180组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。同时能完美构建流畅、美观且易于使用的应用程…

系列三、双亲委派机制

一、概述 当一个类收到了类加载的请求,它首先不会尝试自己去加载这个类,而是把这个请求委派给父类去完成,每一层的类加载器都是如此,因此所有的请求都应该传送到启动类加载器中,只有当父类加载器反馈自己无法完成这个…

人工智能赋能职业教育:技术融合引领教育变革

人工智能赋能职业教育:技术融合引领教育变革 摘要:本文探讨了人工智能技术在职业教育领域的应用及其带来的变革。通过分析人工智能在个性化教学、智能评估和教学资源优化等方面的技术优势,结合职业教育的现状和发展需求,提出了人…

计算机网络之网络体系结构

计算机网络体系结构 一、常见的计算机体系结构 1.1 OSI标准以及TCP/IP体系结构 OSI标准失败的原因: OSI的专家们缺乏实际经验,他们在完成OSI标准时没有商业驱动力OSI的协议实现起来过分复杂,而且运行效率很低OSI标准的制定周期太长&#x…

【ArcGIS Pro二次开发】(76):面积平差工具

之前做过一个【三调土地利用现状分类面积汇总】的工具,在流程中使用了面积平差的方法。 考虑了在其它场合可能也需要进行面积平差,因此单独提取出来作为一个工具。 平差实现的方法如下图: 主要的计算过程如上图所示,算出总面积差…

队列的实现---超详细

队列的实现—超详细 文章目录 队列的实现---超详细一、队列的模型二、代码实现以及测试用例①队列初始化②入队③出队④输出队头⑤输出队尾⑥判断队列是否为空⑦队列的长度⑧队列的销毁⑨测试用例 一、队列的模型 队列:只允许在一端进行插入数据操作,在…

从零搭建微服务架构:Spring Boot与Nacos完美整合

🎏:你只管努力,剩下的交给时间 🏠 :小破站 从零搭建微服务架构:Spring Boot与Nacos完美整合 前言第一:服务注册与发现第二:配置中心第三:报错问题解决第四:什…

深度学习+opencv+python实现车道线检测 - 自动驾驶 计算机竞赛

文章目录 0 前言1 课题背景2 实现效果3 卷积神经网络3.1卷积层3.2 池化层3.3 激活函数:3.4 全连接层3.5 使用tensorflow中keras模块实现卷积神经网络 4 YOLOV56 数据集处理7 模型训练8 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 &am…

【数据结构】单链表基本操作的实现

【单链表的头插和尾插】//无头结点 #include<stdio.h> #include<stdlib.h> typedef struct LNode {int date;struct LNode *next; }LNode,*LinkList; LinkList great_LinkList(LinkList L)//头部插入 {LinkList s;int x,j1;scanf("%d",&x);while(x…

OPPO Watch纯手机开启远程ADB调试

Wear OS手表中&#xff0c;我们可以直接在开发者设置中打开WiFi调试。但是这在OPPO等魔改Android系统中不再奏效。 需要什么&#xff1f;&#xff1f; 手表一台手机一个OTG转接头一个手表充电器一个 演示设备 手机&#xff1a; OPPO Find X手表&#xff1a; OPPO Watch 1代 …

第十九章绘图

Java绘图类 Graphics 类 Grapics 类是所有图形上下文的抽象基类&#xff0c;它允许应用程序在组件以及闭屏图像上进行绘制。Graphics 类封装了Java 支持的基本绘图操作所需的状态信息&#xff0c;主要包括颜色、字体、画笔、文本、图像等。 Graphics 类提供了绘图常用的…

Oracle OCP / MySQL OCP认证容易通过吗

诸多学员在首次考OCP时&#xff0c;不清楚要如何选择。在本文中&#xff0c;我会为大家进行讲解&#xff01; 选择OCP认证时需要考虑的几大项目&#xff1a; 授课老师师资经验 课程大纲 试听课程 考试通过率 业界口碑 服务质量 郭一军老师的OCP培训在业界培训的学员中已…

SystemVerilog学习 (6)——验证平台

一、概述 测试平台&#xff08;Testbench&#xff09;是整个验证系统的总称。它包含了验证系统的各个组件、组件之间的互联关系&#xff0c;测试平台的配置与控制等&#xff0c; 从更系统的意义来讲&#xff0c;它还包括编译仿真的流程、结果分析报告和覆盖率检查等。 从狭义上…

【Phoenix】请求的生命周期

本文的目的是讨论Phoenix请求的生命周期。我们实战添加两个新的页面&#xff0c;并讨论整个过程是如何串起来的。 让我们从添加第一个新页面开始。 添加一个新页面 web应用通常通过将HTTP方法和路径映射到应用的某个函数来处理请求。Phoenix通过路由器来实现这个匹配。例如将…

蒙HarmonyOS从零实现类微信app效果第二篇,我的+发现页面实现

本着不拖更的原则&#xff0c;今天上新了&#xff0c;今天实现了类微信app的发现页和我的页面。先看效果。 效果是不是看着还不错。其实这两个页面功能实现还是比较简单的&#xff0c;接下来还是老规矩&#xff0c;先进行页面的拆分和代码实现&#xff0c;然后进行相关我认为比…

嵌入式linux--sysfs文件系统以及操作GPIO

sysfs文件系统 在Linux系统中&#xff0c;/sys路径是一个特殊的虚拟文件系统&#xff08;Virtual File System&#xff09;&#xff0c;用于提供对内核和设备的运行时信息的访问。它是sysfs文件系统的挂载点&#xff0c;提供了一种以文件和目录形式表示系统设备、总线、驱动程…

【Web开发】基于 Jekyll 中的 Chirpy 模板搭建博客网站(一):成功经验篇

基于 Jekyll 中的 Chirpy 模板搭建博客网站&#xff08;一&#xff09;&#xff1a;成功经验篇 1.Jekyll 介绍2.Chirpy 介绍3.安装步骤3.1 Prerequisites3.2 Installation3.2.1 Creating a New Site3.2.2 Installing Dependencies 3.3 Usage3.3.1 Configuration3.3.2 Running L…

使用C#插件Quartz.Net定时执行CMD任务工具2

目录 创建简易控制台定时任务步骤完整程序 创建简易控制台定时任务 创建winform的可以看&#xff1a;https://blog.csdn.net/wayhb/article/details/134279205 步骤 创建控制台程序 使用vs2019新建项目&#xff0c;控制台程序&#xff0c;使用.net4.7.2项目右键&#xff08…