Windows系统安装PyTorch框架支持AMD Radeon显卡/Intel显卡

前言

PyTorch框架作为一种主流的、对新手友好的深度学习框架,应用的范围越来越广泛,但是作为一种深度学习框架,使用显卡进行加速训练是一种常见的需求,而PyTorch框架官方支持对NVIDIA卡支持更加友好,这一点从官方的安装指引也可以看出:
PyTorch安装页面

但是个人计算机(特别是本地Windows系统),很多时候并没有N卡,而只有AMD的Radeon卡或者Intel卡,同时很多时候还是核显而非独显,此时如果需要使用显卡,需要通过DML(DirectML)进行PyTorch模型训练的环境配置。

1.创建虚拟环境

虚拟环境使用Python3.9,使用conda进行虚拟环境管理:

conda create -n deepbase python=3.9 -y

2.安装PyTorch(可省略)

因为显卡使用A卡或者I卡、而非N卡,因此不选择cuda版本的PyTorch、而直接安装CPU版即可。切换到虚拟环境后,使用conda安装CPU版PyTorch:

conda install pytorch==2.0.0 cpuonly -c pytorch -y

3.安装DirectML接口

如果PyTorch需要支持AMD等非N卡,一种方式是选择DirectML接口进行加速,DirectML 是用于机器学习的高性能硬件加速 DirectX 12 库。DirectML 在广泛支持的硬件和驱动程序上为常见的机器学习任务提供 GPU 加速,其中包括 AMD、英特尔、英伟达和高通等供应商生产的所有支持 DirectX 12 的 GPU。

PyTorch与DirectML的版本对应关系如下:

torch-directmlPyTorch
0.1.13+1.13+
1.8.0a0.*1.8

安装命令如下:

pip install torch-directml

当前安装的torch-directml版本为0.2.0。

因为安装torch-directml依赖PyTorch,同时有明确的版本对应关系,因此步骤2也可以省略,在安装torch-directml时即会自动安装对应版本的PyTorch。

4.使用测试

可以查看DML是否安装成功并且可用:

>>> import torch
>>> torch.cuda.is_available() # cuda不可用
False
>>> import torch_directml
>>> torch_directml.is_available() # DML可用
True

查看可用的GPU显卡名称:

>>> torch_directml.device_name(0)
'Radeon RX550/550 Series'
>>> torch_directml.device_name(1)
'Intel(R) UHD Graphics 630'

使用DML进行计算:

>>> import time
>>> import torch
>>> import torch_directml
>>>
>>>
>>> a=torch.randn(40000000,1)
>>> b=torch.randn(40000000,1)
>>> t0=time.time()
>>> r=a*b
>>> print(r)
tensor([[-1.1785],
        [-1.3836],
        [-0.6546],
        ...,
        [ 0.1480],
        [-0.7637],
        [-0.7420]])
>>> print(time.time()-t0)
0.048870086669921875
>>>
>>> c=a.to(torch_directml.device(0))
>>> d=b.to(torch_directml.device(0))
>>> t1=time.time()
>>> r=c*d
>>> print(r)
tensor([[-1.1785],
        [-1.3836],
        [-0.6546],
        ...,
        [ 0.1480],
        [-0.7637],
        [-0.7420]], device='privateuseone:0')
>>> print(time.time()-t1)
0.1271059513092041
>>>
>>> e=a.to(torch_directml.device(1))
>>> f=b.to(torch_directml.device(1))
>>> t2=time.time()
>>> r=e*f
>>> print(r)
tensor([[-1.1785],
        [-1.3836],
        [-0.6546],
        ...,
        [ 0.1480],
        [-0.7637],
        [-0.7420]], device='privateuseone:1')
>>> print(time.time()-t2)
0.2713508605957031

可以看到,此时使用A卡和I卡得计算速率都比使用CPU更慢,一方面可能是因为A卡等显卡的版本和配置等原因,有可能其计算性能还低于CPU,另一方面可能是需要进行梯度下降和反向传播时才能体现显卡的优势。具体使用时还是需要根据表现进行灵活选择

总结

PyTorch对NVIDIA显卡的支持最好,但是通过额外配置,也可以支持其他常见显卡,但是性能上可能存在一定的区别,需要根据需要和表现进行灵活选择。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/490613.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

fastadmin学习01-windows下安装部署

下载源代码 官网 安装 解压,然后使用phpstorm打开 修改配置文件 创建数据库 -- drop database fastadmin01; create database fastadmin01;这样fastadmin就部署好了 访问主页也能看到前台页面

什么是 SD-WAN 云端部署?

SD-WAN(软件定义广域网)是一种网络架构,可以通过软件定义和控制来管理广域网连接,提高网络的灵活性、可靠性和安全性。而SD-WAN的云端部署则是将SD-WAN 解决方案部署在云端环境中,利用云计算的优势来实现网络管理和优化…

MySQL详细教程

文章目录 前言一、数据库管理1.查看已有的数据库2.创建数据库3.删除数据库4.进入数据库 二、 数据表管理1.查看当前数据库下的所有数据表2.创建数据表3.删除表4.查看表结构 三、常用数据类型1.整型tinyintintbigint 2.浮点型floatdoubledecimal 3.字符型char(m)varchar(m)textm…

错误 LNK1104 无法打开文件“mfc140.lib”

如图,编译一个别人已有的项目,我的编译报错为: 但是我所有文件夹全局搜索了一下,这个文件是存在的。但是当前项目访问不到。 更改方法:项目->属性->配置属性->VC目录->库目录 全局搜索找到mfc140.lib的…

【工具篇】总结比较几种绘画软件的优缺点

目录 一、Visio二、Processon三、draw.io四、亿图图示五、wps 写在文章开头,感谢你的支持与关注!小卓的主页 一、Visio Visio 是微软公司开发的一款流程图和图表绘制软件。我们可以用它来创建各种类型的图表,如流程图、组织结构图、网络图、平…

计算机基础--发展史

1进化史 计算工具,机械计算机,电子计算机(目前) 1.1计算工具 1算筹,算盘(这些都是计算工具,算数还是得靠大脑算 ) 2机械计算机 2.1帕斯卡计算器 2.2莱布尼茨乘法器 2.3Curta计数…

聚类分析|基于层次的聚类方法及其Python实现

聚类分析|基于层次的聚类方法及其Python实现 0. 基于层次的聚类方法1. 簇间距离度量方法1.1 最小距离1.2 最大距离1.3 平均距离1.4 中心法1.5 离差平方和 2. 基于层次的聚类算法2.1 凝聚(Agglomerative)2.3 分裂(Divisive) 3. 基于…

【蓝桥杯】tarjan算法

一.概述 Tarjan 算法是基于DFS的算法,用于求解图的连通性问题。 Tarjan 算法可以在线性时间内求出: 无向图: 割点与桥双连通分量 有向图: 强连通分量必经点与必经边 1.割点: 若从图中删除节点 x 以及所有与 x 关联的…

【Java项目】jspm九宫格日志网站

目录 背景 技术简介 系统简介 界面预览 背景 互联网的迅猛发展彻底转变了全球各类组织的管理策略。自20世纪90年代起,中国的政府机关和各类企业便开始探索利用互联网技术来处理管理信息。然而,由于当时网络覆盖不广、用户接受度不高、互联网法律法规…

一文说清:AI大模型在制造业中的应用类型

在过去的几年里,全球制造业的竞争格局正在发生重构,数字化和智能化成为推动变革的关键力量。AI 大模型作为一种通用人工智能技术,其革命性特征体现在能够生成代码、构建人机交互新模式,并与产品研发、工艺设计、生产作业、产品运营…

羊大师解析,孩子喝羊奶的好处

羊大师解析,孩子喝羊奶的好处 孩子喝羊奶有诸多好处。羊奶富含多种营养物质,包括蛋白质、脂肪、维生素和矿物质等,对孩子的生长发育和身体健康都有积极的促进作用。羊奶中的蛋白质含量丰富,且易于消化吸收。这些优质蛋白质可以为…

《海王2》观后感

前言 我原本计划电影上映之后,去电影院观看的,但时间过得飞快,一眨眼这都快4月份了,查了一下,电影院早就没有排片了,所以只能在B站看了,这里不得不吐槽一下,原来花了4块钱购买观看还…

Hudi部署

目录 前言 Hudi的介绍 一、Hudi是什么? 二、Hudi的特点功能和优势 三、Hudi的使用场景 Hudi的搭建部署 一、准备 二、搭建 1)搭建JAVA环境和Hadoop环境 2)部署zookeeper 3)部署Spark on yarn 4)部署maven环…

vue-quill-editor和vue-ueditor-wrap富文本编辑器应用

目录 一、vue-quill-editor 1.1、界面展示 1.2、代码介绍 1.2.1、安装 1.2.2、配置 1.2.3、代码应用 1.2.4、提取内容 二、vue-ueditor-wrap 2.1、界面展示 2.2、代码介绍 2.2.1、安装 2.2.2、配置 2.2.3、代码应用 一、vue-quill-editor 1.1、界面展示 文本输出…

[BT]BUUCTF刷题第8天(3.26)

第8天 Web [CISCN2019 华北赛区 Day2 Web1]Hack World 题目明确提示flag在flag表里的flag列,这里先尝试1 返回:你好,glzjin想要一个女朋友。 再尝试1,返回bool(false) 到这里就感觉是布尔盲注的题目类型了(虽然我没…

RocketMQ学习笔记:消息存储模型,持久化文件,过期文件删除

这是本人学习的总结,主要学习资料如下 马士兵教育rocketMq官方文档 目录 1、消息存储结构1.1、CommitLog详解1.1.1、CommitLog存储的优点 1.2、ConsumeQueue详解1.3、Index详解 2、持久化文件3、过期文件删除机制3.1、判断过期文件3.2、删除的时机 1、消息存储结构…

大模型时代的向量数据库:原理解析和应用案例

大家好,在人工智能领域,数据处理和加工的需求愈发增加。随着人们深入探索AI高级的应用,如图像识别、语音搜索和推荐引擎等,数据的复杂性也在不断地增加。此时传统的数据库存储方式已不能完全满足需求,向量数据库应运而…

《出海和跨境:明道云HAP支撑全球化业务的能力白皮书》正式发布

随着全球化进程的加速,越来越多的企业开始寻求海外市场的拓展机会。然而在出海道路上,企业面临着诸多挑战,比如跨时区的协作困难、文化差异、信息异步、技术障碍等。 明道云HAP作为一款前沿的企业软件产品,致力于赋能企业跨境经营…

Jwt 报错 : Cannot resolve method ‘parseClaimsJws‘ in ‘JwtParserBuilder‘

Java 环境 Java 版本&#xff1a; jkd11 jwt依赖 <dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>0.12.5</version></dependency>报错如下图所示 解决方法 在pom.xml中把 jjwt 的依…

2024年【安全员-C证】考试及安全员-C证考试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 安全员-C证考试根据新安全员-C证考试大纲要求&#xff0c;安全生产模拟考试一点通将安全员-C证模拟考试试题进行汇编&#xff0c;组成一套安全员-C证全真模拟考试试题&#xff0c;学员可通过安全员-C证考试题全真模拟…
最新文章