当前位置: 首页 > 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.jsqmd.com/news/165832/

相关文章:

  • Docker Network网络模式:Miniconda-Python3.9镜像容器通信配置
  • 摄像机实况画面条纹问题排查指导
  • 永磁同步电机Matlab/Simulink仿真模型探索
  • 2026年AI人才“定价权”争夺战:掌握大模型核心算法,你就是在定义市场薪资上限!
  • 零基础速成:3天掌握Java与JS开发基础(基础部分)
  • 2025年技术领域大火!大模型应用开发工程师成为最火岗位,平均月薪高达30K+。2026年,抓住机遇入局,成为下一个技术界明星!
  • RADI-5.15-5.25-SMT-2WR-20WPK-R25,20 W的微波隔离器, 现货库存
  • 2025年塑料菱形网机器口碑排名:山东通佳机械产品质量稳定吗? - 工业设备
  • 计算机毕业设计springboot对于股票实时信息系统 基于SpringBoot的证券行情实时监测与交易辅助平台 融合SpringBoot框架的股市动态信息实时推送系统
  • SSH连接拒绝Connection refused?Miniconda-Python3.9镜像sshd服务检查
  • 2025保丽鑫手机保护膜凭啥出圈,手机保护膜源头工厂全解析 - 栗子测评
  • AppSpider 7.5.023 发布 - Web 应用程序安全测试
  • 计算机毕业设计springboot少儿体能训练在线课程预约管理系统 基于SpringBoot的青少年体质提升在线课程预约平台 SpringBoot驱动的儿童运动训练课程智能预约系统
  • 2025年离心玻璃棉板厂家权威推荐榜单:超细玻璃棉板/复合玻璃棉板/保温玻璃棉板/保温玻璃棉卷毡/大棚玻璃棉卷毡/硅酸铝毡/硅酸铝纤维毡源头厂家精选。 - 品牌推荐官
  • 昨天面试了一位测试人员,一面面试官总体的评价是:这个人看他侃侃而谈的,有点把握不准,你看看。这位测试应聘者来自大厂,总共9年的工作经验,在上一家公司干了8年,一直从事测试工作,在不同的部门和业务线1
  • GitHub热门项目推荐:基于Miniconda-Python3.9的AI实验复现仓库
  • 2025年固态继电器厂家推荐榜:多路/直流/单相/三相/交流固态继电器全系覆盖 - 品牌推荐官
  • 昨天面试了一位测试人员,一面面试官总体的评价是:这个人看他侃侃而谈的,有点把握不准,你看看。这位测试应聘者来自大厂,总共9年的工作经验,在上一家公司干了8年,一直从事测试工作,在不同的部门和业务线都
  • 告别选厂难!2025杭州卡布灯箱工厂优选 - 栗子测评
  • 必藏!5种大模型Agent工作流模式,告别乱七八糟的提示词,稳定输出高质量结果
  • 2025金刚钻石膜选哪家?这份切割膜厂家推荐助你轻松挑 - 栗子测评
  • 有效修复 Google Photos 备份卡住问题
  • 2025年空气弹簧/电磁式/薄膜式/主动式/气浮减震器推荐:北京恒帆减振科技全系产品解决方案 - 品牌推荐官
  • HTML Canvas绘图交互:Miniconda-Python3.9镜像Bokeh可视化库
  • 运维系列数据库系列【仅供参考】:达梦数据库:dokcer安装dm8-2
  • 2025led食人鱼灯珠哪家好?专业视角深度评测与推荐 - 栗子测评
  • 2026年中国领先战略咨询公司/管理咨询公司/企业咨询培训公司/品牌咨询公司/营销咨询公司盘点 - 栗子测评
  • 自由编辑+AI 赋能:ChatPPT与Nano Banana Pro的创作革命
  • 2025年负载箱厂家权威推荐榜:苏州凌鼎电气科技,可编程/移动式/便携式/直流/三相交流负载箱全系供应 - 品牌推荐官
  • 运维系列数据库系列【仅供参考】:达梦数据库安装