首页 > 其他分享 >机器视觉-尝试使用directml运行yolov8

机器视觉-尝试使用directml运行yolov8

时间:2024-03-03 22:44:05浏览次数:22  
标签:directml return self torch yolov8 device 视觉 model else

DirectML 是什么

DirectML 是微软提供的类似于CUDA的基础计算框架, 不同于CUDA必须使用N卡GPU, DirectML要求显卡支持DirectX 12即可, 所以AMD和intel的核显也能支持.
Pytorch 要使用 DirectML 作为计算的backend, 需要安装python库 torch-directml, 经测试torch-directml和DirectML 并不能支持所有的算子, 所以 暂时不能支持yolov8 .

准备Python测试环境

## 安装 python=3.9 虚拟环境
conda.exe create --name yolo_directml python=3.9
conda.exe activate yolo_directml

安装 torch-directml

该包更新的不是很频繁, 更新历史 https://pypi.org/project/torch-directml/#history
最后一个版本是 0.2.0.dev230426, 对应的pytorch 为 2.0; 次新版本是 0.1.13.1.dev230413, 对应的pytorch 为 1.13.1.
这两个版本在后面yolov8 使用中经常会使Windows蓝屏.

先不要安装 pytorch, 直接安装安装 torch-directml将会自动安装依赖 pytorch 版本.

pip install torch-directml==0.1.13.1.dev230413

检查环境

检查安装的 python 包:

pip list 

检查torch和torch_directml的device输出:

import torch
torch.cuda.is_available()

import torch_directml
torch_directml.is_available()
torch_directml.device() 
# 正常输出为: device(type='privateuseone', index=0)

安装 yolov8

pip install ultralytics

检查yolov8安装情况:

import ultralytics
ultralytics.checks()

改造 ultralytics\utils\torch_utils.py 文件

yolov8 仅支持device为cpu或0, 即CPU或cuda, 所以需增加一个device=dml的选项, 以启用DirectML 计算后台, 需要修改 torch_utils.py 文件:

# Ultralytics YOLO 

标签:directml,return,self,torch,yolov8,device,视觉,model,else
From: https://www.cnblogs.com/harrychinese/p/18050896

相关文章

  • 视觉专业英语(一)
    1.subpixeledge   亚像素2.one-dimensional  一维3.edgeprofile 边缘轮廓4.standarddeviation 标准差5.derivative导数6.salientedges显著边缘7.amplitudevalues振幅值8.corresponding相应9.consecutiveedge连续边10.assu......
  • 视觉处理程序
    视觉处理程序图像的通道OpenCV中图像的通道可以是1、2、3和4。其中常见的是1通道和3通道,2通道和4通道不常见。1通道的是灰度图。2通道的图像是RGB555和RGB565。2通道图在程序处理中会用到,如傅里叶变换,可能会用到,一个通道为实数,一个通道为虚数,主要是编程方便。RGB555是16位的......
  • 视觉软件 VisionPro 与 C# 对接简单说明(包括常用控件)
    视觉软件VisionPro与C#对接简单说明(包括常用控件)C#和VisionPro对接:VisionPro的部分控件是可以直接在C#WinForm里调用的;算法文件在VisionPro平台里编辑好后保存下来也可以通过C#加载调用;下面我们主要说一下C#调用Vpp文件首先我们要先引用VisionPro平台的dll文件,在项目文件......
  • Computer vision 计算机视觉 北邮
    Definition图像→感知设备(眼睛/摄像头)→解释器(大脑/笔记本电脑)→解释(花园、树、水……)HistoryDavidMarr1.计算理论计算的目的?这个问题已知的或可施加的约束是?2.表达和算法输入、输出和中间信息如何表达?用哪些算法可以计算期望的结果?3.硬件实现表达和算法如何映射到实际......
  • 基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的快递包裹检测系统(Python+PySide6界面+训练代码)
    摘要:本文介绍了一种基于深度学习的快递包裹检系统系统的代码,采用最先进的YOLOv8算法并对比YOLOv7、YOLOv6、YOLOv5等算法的结果·,能够准确识别图像、视频、实时视频流以及批量文件中的快递包裹。文章详细解释了YOLOv8算法的原理,并提供了相应的Python实现代码、训练数据集,以及基于P......
  • 基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的智能监考系统(Python+PySide6界面+训练代码)
    摘要:本文介绍了一种基于深度学习的智能监考系统系统的代码,采用最先进的YOLOv8算法并对比YOLOv7、YOLOv6、YOLOv5等算法的结果·,能够准确检测图像、视频、实时视频流以及批量文件中的目标。文章详细解释了YOLOv8算法的原理,并提供了相应的Python实现代码、训练数据集,以及基于PySide6......
  • 浏览器录屏技术:探索网页内容的视觉记录之道
    在当今数字化时代,浏览器录屏技术已经成为了一种强大的工具,用于记录和分享网页内容的视觉体验。无论是用户体验测试、教育培训、产品演示还是远程协作,浏览器录屏技术都能提供便捷、高效的解决方案。在线录屏|一个覆盖广泛主题工具的高效在线平台(amd794.com)amd794.com/reco......
  • 基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的玉米病虫害检测系统(Python+PySide6界面+训练代码)
    摘要:本文介绍了一种基于深度学习的玉米病虫害检测系统系统的代码,采用最先进的YOLOv8算法并对比YOLOv7、YOLOv6、YOLOv5等算法的结果·,能够准确识别图像、视频、实时视频流以及批量文件中的玉米病虫害。文章详细解释了YOLOv8算法的原理,并提供了相应的Python实现代码、训练数据集,以......
  • 机器视觉-一篇小目标检测论文的解读
    论文地址:https://www.mdpi.com/2227-9717/12/1/205ResearchonanIntelligentIdentificationMethodforWindTurbineBladeDamageBasedonCBAM-BiFPN-YOLOV8Processes(IF3.5)PubDate:2024-01-18,DOI:10.3390/pr12010205HangYu,JianguoWang,YaxiongHan......
  • 机器视觉在缺陷检测中的关键作用:提升检测精度与效率
    机器视觉在缺陷检测中起着至关重要的作用,它通过图像处理和模式识别技术,实现了对产品质量的自动、高效和精确检测。以下是机器视觉在缺陷检测中的关键作用:提升检测精度:机器视觉系统可以对产品进行高精度的检测,能够发现微小的缺陷。通过深度学习和人工智能的融合,机器视觉技术能够......