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

Inter的电脑使用GPU加速训练

换新电脑就是不一样,但是突然发现是inter的显卡,下面说一下如何使用inter的显卡加速训练。先大致步骤说一下:将ultralytics软件包中的torch_utils.py中的select_device函数修改一下,然后使用训练代码进行进行训练就可以了。

一、环境

现在的YOLO直接下载ultralytics这个软件库,再加上数据集,就可以了。

首先找到下载好的ultralytics软件包中需要修改的函数代码文件,下面是以conda环境为例的路径:

Anaconda3\envs\你的环境名\Lib\site-packages\ultralytics\utils\torch_utils.py

找到后用编译器打开,在183行找到如图的代码加上一个else语句让他可以识别到xpu就可以了,

代码如下:

elif device == 'xpu' or device.startswith('xpu:'): # 检查 Intel XPU 是否可用 if hasattr(torch, 'xpu') and torch.xpu.is_available(): # 解析设备索引,例如 ‘xpu:0’ device_idx = 0 if ':' in device: device_idx = int(device.split(':')[1]) # 检查索引是否有效 if device_idx < torch.xpu.device_count(): device_obj = torch.device(f'xpu:{device_idx}') if verbose: print(f'使用 Intel XPU 设备: xpu:{device_idx} ({torch.xpu.get_device_name(device_idx)})') return device_obj else: raise ValueError(f"无效的 XPU 设备索引 {device_idx},可用设备数为 {torch.xpu.device_count()}") else: raise ValueError(f"请求使用 Intel XPU (‘device={device}’),但 XPU 不可用。请检查驱动和 IPEX 安装。")

然后就保存退出就可以了。

二、训练代码

这样就可以使用常规训练代码训练了,但是在训练1轮之后会报错,这个 _clear_memory 是一个通用工具函数,它在每个训练周期(epoch)结束后都可能被调用,目的是防止显存(VRAM)峰值。这个会自动调用CUDA,所以在训练代码开头加上一个猴子补丁,下面是训练代码:

# ============ 【1. 必加:猴子补丁,解决所有CUDA硬编码问题】 ============ import os os.environ['NUM_WORKERS'] = '0' # Windows必须 os.environ['PYTHONWARNINGS'] = 'ignore' import torch import ultralytics.engine.trainer as trainer_module # --- 修补 _get_memory 函数 --- _original_get_memory = trainer_module.BaseTrainer._get_memory def _patched_get_memory(self, fraction=False): """永远返回一个极低的内存使用率,让框架跳过清理,避免调用 torch.cuda""" return 0.01 if fraction else 1024 # 返回1%使用率或1024字节 trainer_module.BaseTrainer._get_memory = _patched_get_memory print("✅ 关键补丁已应用:内存检查函数已替换,规避CUDA调用。") # ============ 【2. 正常训练流程】 ============ from ultralytics import YOLO # 设置设备 device = torch.device('xpu:0') print(f"训练设备: {device}") # 加载模型并移动 model = YOLO('yolov8n.pt') # 请确保此权重文件存在 model.model.to(device) print(f"模型已移至: {next(model.model.parameters()).device}") # 开始训练 results = model.train( data='data/data.yaml', # 你的数据集配置文件 epochs=5, imgsz=640, batch=32, device='xpu', # 框架用此参数处理数据位置 workers=0, amp=False, # 必须关闭,避免AMP相关CUDA调用 half=False, # 必须关闭 verbose=True, name='yolo_xpu_final_fixed', plots=True, ) print(f"\n🎉 训练完成!结果保存在: {results.save_dir}")

你可以根据自己的数据集来修改2中的参数(注释的不要修改),然后就可以开始在新电脑上进行GPU加速训练了。非常的好用,快速解决问题。

http://www.zskr.cn/news/181350.html

相关文章:

  • Docker Network网络模式:Miniconda-Python3.9镜像容器通信配置
  • 零基础速成:3天掌握Java与JS开发基础(基础部分)
  • 2025年塑料菱形网机器口碑排名:山东通佳机械产品质量稳定吗? - 工业设备
  • 昨天面试了一位测试人员,一面面试官总体的评价是:这个人看他侃侃而谈的,有点把握不准,你看看。这位测试应聘者来自大厂,总共9年的工作经验,在上一家公司干了8年,一直从事测试工作,在不同的部门和业务线1
  • 2025年固态继电器厂家推荐榜:多路/直流/单相/三相/交流固态继电器全系覆盖 - 品牌推荐官
  • 昨天面试了一位测试人员,一面面试官总体的评价是:这个人看他侃侃而谈的,有点把握不准,你看看。这位测试应聘者来自大厂,总共9年的工作经验,在上一家公司干了8年,一直从事测试工作,在不同的部门和业务线都
  • 2025金刚钻石膜选哪家?这份切割膜厂家推荐助你轻松挑 - 栗子测评
  • 有效修复 Google Photos 备份卡住问题
  • 2025年负载箱厂家权威推荐榜:苏州凌鼎电气科技,可编程/移动式/便携式/直流/三相交流负载箱全系供应 - 品牌推荐官
  • 深入理解 Linux 中的 cd 命令(包含进阶技巧与实战应用)
  • 露,AI人工智能自发活动分析系统 AI人工智能自发活动视频分析系统
  • 2025工业设备精选:往复式升降机厂家与螺旋提升机厂家一览 - 栗子测评
  • 天下工厂行业标注数据更新频率是多少?动态识别,月度刷新,确保“所见即所产”
  • 2025 最新!10个AI论文平台测评:本科生写论文不再愁
  • 2025最新!9个AI论文软件测评:本科生写论文痛点全解析
  • 震惊!ReAct智能体工作原理大揭秘,AI应用不再“一本正经地胡说八道“!
  • 爱回收 item_get_inquir - 获取询价项接口对接全攻略:从入门到精通
  • 自考人必看!9个降AI率工具推荐,高效避坑指南
  • 何为 SRC?挖漏洞为何屡屡受挫?需规避哪些问题?
  • 从基础到实践:信息系统安全风险防范的十大常用技术剖析
  • 系统性打败碎片化:Linux运维核心技能体系深度梳理
  • 【独家揭秘】最新研究出炉:大模型LLM如何在关键时刻实现深度思考?
  • leetcode 817. Linked List Components 链表组件-耗时100%
  • GESP认证C++编程真题解析 | B4451 [GESP202512 四级] 建造
  • 知网AIGC爆红怎么办?2025最新论文降AI全攻略(附免费手改+工具实测)
  • Elastic 即代码:自动化的不只是基础设施
  • 2025年母线槽生产厂家实力推荐:江苏祥丰电器有限公司,专注耐火/密集/高压/铝合金/封闭式母线槽源头厂家精选 - 品牌推荐官
  • 普源数字万用表DM858E接地电阻测量技巧
  • 基于Spring Boot框架的文学名著分享系统的设计与实现
  • 2025-2026双曲面搅拌机三大优质厂家权威榜单:技术领先者揭晓 - 品牌推荐大师