英特尔(Intel)集成显卡也能使用GPU为模型训练加速(以Intel(R) iris(R) Xe Graphics 为例)

一,首先需要安装虚拟环境(miniconda),方便管理:

如果不知到怎么安装虚拟环境可以点这:安装虚拟环境

安装好虚拟环境后创建虚拟环境:在命令提示符(CMD)输入:

conda create -n Py310 python=3.10

Py310是你的虚拟环境的名字,当让也可以换成你喜欢的,python版本也可以是其他的,我个人觉得3.10到3.12比较好。执行后输入"y"确认即可,如图:
57c185bbbb024eb680acb38f3e1bcd56.png

二、下载 Intel® oneAPI Base Toolkit

访问 Intel® oneAPI 下载页面Get the Intel® oneAPI Base ToolkitIntel® oneAPI 下载页面,选择适合你操作系统的版本(Windows/Linux/macOS)。

  1. 运行安装程序,选择 Custom Install(自定义安装)。

  2. 在组件列表中,只勾选以下内容:

    • Intel® oneAPI DPC++/C++ Compiler

    • Intel® oneAPI Level Zero

    • Intel® oneAPI AI Analytics Toolkit

    • Intel® VTune Profiler(可选)

  3. 点击 Next,选择安装路径(例如 D:\intel\oneAPI)。

  4. 完成安装。

     配置环境变量

    安装完成后,确保正确配置环境变量:打开命令提示符或终端。运行以下命令加载 oneAPI 环境变量:

call "D:\intel\oneAPI\setvars.bat"

三、安装Intel显卡驱动及extension for pytorch
1、打开Intel官方网址:https://pytorch-extension.intel.com/installation?platform=gpu&version=v2.5.10+xpu&os=windows&package=pip

按照下图中选:

1ed789c6a19144dda5d78b2f59c1b7c4.png

2、安装intel显卡驱动:

往下滑,我的显卡是Intel(R) iris(R) Xe Graphics,随便安装了第一个
5fac4b588c70410999a3d11a3816dcc7.png

3、安装extension for pytorch及其他依赖库

激活刚刚创建的虚拟环境:

conda activate Py310

安装过程中我发现torch不支持numpy>=2,但是在安装完成后把numpy将为1.xx时出现以下错误:

OSError: [WinError 127] 找不到指定的程序。 Error loading "D:\ProgramData\miniconda3\envs\Py311\Lib\site-packages\torch\lib\aoti_custom_ops.dll" or one of its dependencies.(可能是链接出现错误),但是安装torch是系统自动检索numpy>=2的版本,所以为了解决这个问题,在创建完虚拟环境是第一步先安装numpy<2版本,我选择了numpy=1.26版本,因为matplotlib只支持1.23版本以上的。

pip install numpy==1.26

为了防止以后安装其他库时numpy自动更新,需要做一下步骤:

使用 pip freeze 锁定版本:

pip freeze > requirements.txt

然后在未来的安装中,使用以下命令来安装与当前环境中相同的依赖版本:

pip install -r requirements.txt 你要安装的库

因为第三个是核显,核显与集显的区别是有无独立内存。两者都是集成在处理器中。所以我就选择了第三个。

conda install libuv
python -m pip install torch==2.5.1+cxx11.abi torchvision==0.20.1+cxx11.abi torchaudio==2.5.1+cxx11.abi intel-extension-for-pytorch==2.5.10+xpu --extra-index-url https://pytorch-extension.intel.com/release-whl/stable/lnl/us/


06bfe8076c044e198d168b2bdbbf7eeb.png

等待安装完成,检验可用性:关掉命令窗口,从新激活虚拟环境,输入:

python -c "import torch; import intel_extension_for_pytorch; print(torch.xpu.is_available());"

可能会有警告,可以忽略掉,结尾出现True即可。
b2f137574cf14c3aa06bc3790478c986.png

当然可能也会出现报错,如依赖包不匹配,比如我遇到numpy不匹配,需要降到1.xx版本。

三、激动人心的时刻。在你的项目中切换到刚创建的虚拟环境中
添加以下代码即可用GPU加速,其实和使用CUDA的代码区别不到,无非是把cuda改成xpu
 

import torch

# 检查 GPU 是否可用
device = torch.device("xpu" if torch.xpu.is_available() else "cpu")

# 假设你有一个模型
model = MyModel().to(device)

# 假设你有一些输入数据
inputs = inputs.to(device)

# 训练时将模型和数据移到 GPU
outputs = model(inputs)

最后,提醒一下,注意每次训练的batch_size不要太大,从小往大试,不让会把显存撑爆,导致闪屏(因为我试过,如果真的这样,建议关机重启,或者重装显卡驱动)

按照以下步骤可以查看显存占用情况:

e3507445151e477683ccbd0251c56d76.png

评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值