✅ Windows11 系统 I 卡独显 A770 安装 深度学习 Pytorch 环境

news/2024/9/17 5:03:22

📋 文献参考

这里非常感谢知乎上的 ‘丢丢’ 的[**Windows系统下英特尔独显+Pytorch的历程**] 为我提供了一开始的 I 卡安装想法!但是文中并未介绍如何进行额外的环境变量操作问题,导致很多软件直接安装至系统盘,占用系统盘空间(本文采取非系统盘安装外加系统环境变量配置方式进行安装),同时解决大部分人常见问题。

Windows系统下英特尔独显+Pytorch的历程

这里同时还参照了丢丢所推荐的国外作者 【Christian Mills】的文章,非常感谢

Christian Mills - Getting Started with Intel’s PyTorch Extension for Arc GPUs on Windows

找到官方 Issues 了,当时也参考了下这里,不过后面知道了这里是因为 VS 环境变量设置有误导致的

OSError: [WinError 126] The specified module could not be found. Error loading “C:\path\to\venv\lib\site-packages\torch\lib\backend_with_compiler.dll” or one of its dependencies · Issue #485 · intel/intel-extension-for-pytorch

💻 环境准备

1️⃣ I 卡显卡驱动安装 —— Intel® Arc™ & Iris® Xe Graphics - Windows* —— 这个一般在装机跑分的时候就已经装过了,后面同样会给新的链接进行下载。


2️⃣ MiniConda 非系统盘安装 ——✅ MiniConda

3️⃣Pytorch-extension-intel whl 下载参考 —— 可以不用去下载(给你看看的),后续有如何直接获取所有的下载指令,如何根据版本需求自动生成

🤖 操作步骤

1️⃣ Enable Resizable BAR In BIOS

这个一般安装显卡的时候就已经在 BIOS 中开启了,如果不知道如何具体开启可以查询主板厂商或其官
寻找文档进行对应的操作教程,这里提供一份华硕主办的开启方式。
[主板]如何开启Resize BAR(Resizable BAR)功能? | 官方支持 | ASUS 中国

2️⃣ 官网下载最新的驱动

官方最新 Intel® Arc™ & Iris® Xe Graphics - Windows* 驱动下载

3️⃣ 下载安装 Visual Studio 以便使用其带有 C++ 工作负载的桌面开发来实现其部分包的功能
✅ Visual Studio 2022 社区版非系统盘安装 C++桌面级应用开发功能以及配置 VisualStudio 环境变量

4️⃣ 下载 oneAPI Toolkit Installer

✅ 安装 OneAPI Toolkit Installer

5️⃣ 关闭核显,设备管理中右键核显可以看到选项

6️⃣ 安装Miniconda

7️⃣ 构建一个用于 ARC770_Pytorch 环境 ,Python 版本为 3.11

$ conda create -n ARC770_Python_Pytorch python==3.11

$ conda activate ARC770_Python_Pytorch

8️⃣ 通过 cmd 命令行 ,激活 OneAPI 环境,开启 Intel VTun Profiler 2024.0.0

  • Win + R 输入 cmd 出现命令行窗口
  • 激活 OneAPI 环境 call d:\Intel\oneAPI\setvars.bat ,如果需要强制重新激活环境需要在后方追加 --force 命令即可。
D:\>call \Intel\oneAPI\setvars.bat
:: initializing oneAPI environment...
   Initializing Visual Studio command-line environment...
:: WARNING: Visual Studio was not found in a standard install location:
     "C:\Program Files\Microsoft Visual Studio\<Year>\<Edition>" or
     "C:\Program Files (x86)\Microsoft Visual Studio\<Year>\<Edition>"
   Set the VS2017INSTALLDIR or VS2019INSTALLDIR or VS2022INSTALLDIR
   environment variable to point to your install location and try again.
   Visual Studio command-line environment was not configured.
:  advisor -- latest
:  compiler -- latest
:: WARNING: Visual Studio was not found in the standard installation location:
   "C:\Program Files\Microsoft Visual Studio\<Year>\<Edition>" or
   "C:\Program Files (x86)\Microsoft Visual Studio\<Year>\<Edition>"
   Set the VS2017INSTALLDIR or VS2019INSTALLDIR or VS2022INSTALLDIR
   environment variable to point to your install location and try again.
:  dal -- latest
:  debugger -- latest
:  dev-utilities -- latest
:  dpcpp-ct -- latest
:: WARNING: Visual Studio was not found in the standard installation location:
   "C:\Program Files\Microsoft Visual Studio\<Year>\<Edition>" or
   "C:\Program Files (x86)\Microsoft Visual Studio\<Year>\<Edition>"
   Set the VS2017INSTALLDIR or VS2019INSTALLDIR or VS2022INSTALLDIR
   environment variable to point to your install location and try again.
:  dpl -- latest
:  ipp -- latest
:  ippcp -- latest
:  mkl -- latest
:  tbb -- latest
:  vtune -- latest
:: oneAPI environment initialized ::

注意说明

注意
!!!这里请注意这里的 **WARNING** : **Visual Studio was not found in a standard install location** 我们选择非系统盘安装的 **Visual Studio** 环境在这里就需要额外进行配置了,他有提示,这个 WARNING ,如果不进行配置后面在进行 **import torch** 的时候默认是从你 **C** 盘去加载 **dll** ,固然肯定没有我们安装的 **torch** ,报个找不到模块的错很正常,也就是我再最初提到过官方的 Issue ,这里再贴一遍的报错。

OSError: [WinError 126] The specified module could not be found. Error loading “C:\path\to\venv\lib\site-packages\torch\lib\backend_with_compiler.dll” or one of its dependencies · Issue #485 · intel/intel-extension-for-pytorch

测试的时候就会报类似下面这种错误

image.png

既然找到了问题所在点该如何配置呢??? 读刚才的 **WARNING** 之后就可以知道我们缺少对应 **VS2022INSTALLDIR** 的环境变量映射,在环境变量中追加我们的 **VS2022INSTALLDIR** ,地址目录为 **D:\Microsoft Visual Studio\2022\Community** 即可。按照下图配置完成即可。

image.png

同时也需要将 **VS2022INSTALLDIR** 环境变量加入到 **Path** 下 以 **%VS2022INSTALLDIR%** 的方式加入,如图所示:

image.png

输入call d:\Intel\oneAPI\setvars.bat

image.png
这下就正常加载好了

9️⃣ 装常用的packages,进入到构建好的 Minconda 环境,在conda promt 中输入

$ conda activate ARC770_Python_Pytorch

$ pip install jupyter matplotlib pandas pillow timm torcheval torchtnt tqdm

$ pip install cjm_pandas_utils cjm_psl_utils cjm_pil_utils cjm_pytorch_utils

0️⃣ 装常用的 Packages ,进入到构建好的 Minconda 环境,在**conda promt**** 中输入**

$ conda install pkg-config libuv

ℹ️ 装所需要的 Pytorch 和 Intel PyTorch extension ,进入到构建好的 Minconda 环境,在**conda promt**** 中输入**

!!!这里就可以进入到我一开始推荐的网站啦!!!
Welcome to Intel® Extension for PyTorch* Documentation!
image.png

$ python -m pip install torch==2.1.0a0 torchvision==0.16.0a0 torchaudio==2.1.0a0 intel-extension-for-pytorch==2.1.10 --extra-index-url https://pytorch-extension.intel.com/release-whl/stable/xpu/us/ --user

!!! 注意在结尾追加 --user 否则会因为权限无法正常下载安装!!!
image.png

设置 OneDNN Memory Layout ,进入到构建好的 Minconda 环境,在**conda promt**** 中输入**

$ set IPEX_XPU_ONEDNN_LAYOUT=1
$ setx IPEX_XPU_ONEDNN_LAYOUT 1

🤓 验证

import torch
import intel_extension_for_pytorch as ipex

print(f'PyTorch Version: {torch.__version__}')
print(f'Intel PyTorch Extension Version: {ipex.__version__}')

运行后应该可以显示 torch 和 intel_extension_for_pytorch 的版本信息及设备信息。如:

自己家里电脑 4070Ti

image.png

公司电脑 Arc A770

c427572a45ac5b019c6778969b31455.png


http://lihuaxi.xjx100.cn/news/2076819.html

相关文章

微信小程序开发系列(二十三)·wxml语法·列表渲染wx:for和wx:key的使用

目录 1. 简介 2. wx:for的使用 3. wx:key的使用 1. 简介 列表渲染&#xff1a;就是指通过循环遍历一个数组或对象&#xff0c;将其中的每个元素渲染到页面上。 在组件上使用 wx:for 属性绑定一个数组或对象&#xff0c;既可使用每一项数据重复渲染当前组件。每一项的变量…

代码随想录算法训练营day14 | 二叉树的递归遍历、二叉树的迭代遍历、二叉树的统一迭代

今天开始二叉树的学习。 关于二叉树的理论基础&#xff0c;可以参考&#xff1a; 链接: 二叉树理论基础 目录 二叉树的递归遍历写递归的思路二叉树的前序遍历二叉树的中序遍历二叉树的后序遍历 二叉树的迭代遍历二叉树的前序遍历二叉树的中序遍历二叉树的后序遍历 二叉树的统…

一周学会Django5 Python Web开发-Django5修改视图UpdateView

锋哥原创的Python Web开发 Django5视频教程&#xff1a; 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计31条视频&#xff0c;包括&#xff1a;2024版 Django5 Python we…

几何工具的使用

Geometry - Creation 创建几何 CogCreateCircleTool&#xff1a;创建圆CogCreateEllipseTool:创建椭圆CogCreateLineBisectPointsTool&#xff1a;带有两个点的平行线CogCreateLineParallelTool:在某一点创建某条线的平行线CogCreateLinePerpendicularTool:在某一点创建某条线…

Golang内存管理

# golang内存管理golang是一种编译型的静态类型语言&#xff0c;它提供了一种简洁和高效的方式来管理内存。golang的内存管理主要依赖于两个机制&#xff1a;**栈**和**堆**。## 栈栈是一种后进先出&#xff08;LIFO&#xff09;的数据结构&#xff0c;它用于存储函数的局部变量…