news 2026/4/18 4:30:04

Inter的电脑使用GPU加速训练

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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加速训练了。非常的好用,快速解决问题。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 0:37:27

运维系列数据库系列【仅供参考】:达梦数据库安装

达梦数据库安装达梦数据库安装摘要windows下的安装与卸载检查系统信息&#xff1a;安装DM卸载DM达梦数据库安装 摘要 本文详细介绍了如何在Windows操作系统中安装和卸载DM数据库管理系统。首先&#xff0c;通过svsteminfo命令检查系统信息然后规划存储空间。接着&#xff0c;…

作者头像 李华
网站建设 2026/4/16 17:44:08

SSH连接拒绝Connection refused?Miniconda-Python3.9镜像sshd服务检查

SSH连接拒绝&#xff1f;Miniconda-Python3.9镜像中sshd服务缺失的深度解析与实战修复 在现代AI开发和数据科学实践中&#xff0c;我们越来越依赖轻量、可复现的容器化环境。一个典型的场景是&#xff1a;你刚刚启动了一个基于 miniconda3-python3.9 的Docker容器&#xff0c;准…

作者头像 李华
网站建设 2026/3/17 5:19:43

智能装备工厂10个研发人员用SolidWorks如何共享一台服务器算力和资源

在现代智能制造领域&#xff0c;研发团队的高效协作离不开对计算资源的优化分配。对于使用SolidWorks进行产品设计的智能装备工厂研发人员而言&#xff0c;如何通过服务器共享算力和资源成为提升工作效率的关键环节。一、硬件配置CPU&#xff1a;选择多核高主频处理器&#xff…

作者头像 李华
网站建设 2026/4/18 4:28:21

彻底搞懂大语言模型(LLM)与Transformer架构的原理与应用!

简介 本文系统介绍了AI大模型家族的核心知识&#xff0c;包括AIGC的两种类型和三个发展阶段&#xff0c;详细解释了机器学习、深度学习和生成式AI的关系&#xff0c;重点阐述了大语言模型(LLM)的定义、特点和技术基础。文章深入剖析了Transformer架构的革命性意义&#xff0c;…

作者头像 李华
网站建设 2026/4/18 2:10:17

基于单片机的远程温控检测系统设计

一、设计背景与核心原理 在工业生产、智能家居、仓储物流等场景中&#xff0c;温度是影响产品质量、设备安全与环境舒适度的关键参数。传统温控系统多为本地监测&#xff0c;存在覆盖范围有限、实时性差、无法远程干预等问题&#xff0c;例如仓储中需人工巡检记录温度&#xff…

作者头像 李华
网站建设 2026/4/17 19:54:05

基于单片机出租车计价器仿真系统设计

一、系统整体设计方案 本系统以 STC89C52RC 单片机为控制核心&#xff0c;聚焦出租车计价功能的仿真演示&#xff0c;适用于电子教学、实训实验等场景&#xff0c;可模拟出租车 “起步价 里程费 等待费” 的计价逻辑&#xff0c;实现里程模拟采集、等待时间计时、费用实时计算…

作者头像 李华