【超详细教程】2025年3月最新Pytorch安装教程(同时讲解安装CPU和GPU版本)
目录
- 一、前言
- 二、pytorch简介
- 三、安装准备工作
- 3.1、下载Anaconda
- 四、判断是否有NVIDIA显卡
- 五、安装pytorch-CPU版本
- 六、安装pytorch-GPU版本
- 6.1、查看CUDA显卡驱动版本
- 6.2、安装CUDA
- 6.3、安装CuDNN(加速器)
- 6.4、安装pytorch-GPU
- 6.5 其他方法安装
- 注意
- 七、pytorch-GPU安装验证
一、前言
在深度学习和人工智能领域,PyTorch已成为最受欢迎的开源框架之一。随着技术的不断进步,PyTorch也在持续更新和优化。本文将为您带来2025年最新版本的PyTorch安装教程,并详细解析如何安装支持CPU和GPU的版本。通过本文,您将轻松掌握PyTorch的安装过程,为您在深度学习的探索之旅中提供强大的工具支持。

二、pytorch简介
Pytorch是基于torch的python版本的机器学习库,是由Facebook开源的神经网络框架,专门针对 GPU 加速的深度神经网络(DNN)编程。 Torch 是一个经典的对多维矩阵数据进行操作的张量(tensor )库,在机器学习和其他数学密集型应用有广泛应用。与Tensorflow的静态计算图不同,pytorch的计算图是动态的,可以根据计算需要实时改变计算图。但由于Torch语言采用 Lua,导致在国内一直很小众,并逐渐被支持 Python 的 Tensorflow 抢走用户。作为经典机器学习库 Torch 的端口,PyTorch 为 Python 语言使用者提供了舒适的写代码选择。

三、安装准备工作
在开始安装PyTorch之前,我们需要进行一些准备工作。首先,确保您的计算机上已安装了合适版本的Python。PyTorch需要Python 3.6或更高版本。同时,您还需要安装pip包管理器,用于安装PyTorch和其他依赖项。所以我们可以通过安装Anaconda来创建一个适合深度学习的Python环境。以下是详细的安装步骤。
3.1、下载Anaconda
首先,访问Anaconda官网(Free Download | Anaconda),选择适合你操作系统的版本,并下载安装包,详细的安装步骤可参考我之前的文章:Anaconda在Windows上的安装与使用


四、判断是否有NVIDIA显卡
在安装PyTorch之前,我们需要判断您的计算机是否安装了NVIDIA显卡,因为PyTorch的GPU版本需要NVIDIA显卡来加速计算。您可以通过以下步骤来判断:
① 打开设备管理器:
在Windows上,按下Win键和X键,然后选择“设备管理器”。
在macOS上,打开“系统偏好设置”,选择“硬件”选项卡,然后点击“设备管理器”。
② 查看显示适配器:在设备管理器中,展开“显示适配器”或“图形处理器”部分,查看是否有NVIDIA显卡的列表。如果有NVIDIA显卡,那么您的计算机适合安装PyTorch的GPU版本。
如果没有NVIDIA显卡,您可以只安装PyTorch的CPU版本。如果您有NVIDIA显卡,您还需要进行其他步骤来安装PyTorch的GPU版本。

(Windows系统——有NVIDIA显卡示例)
五、安装pytorch-CPU版本
在安装PyTorch之前,为了管理不同项目的Python环境,通常建议创建一个虚拟环境。虚拟环境可以帮助您隔离不同项目的依赖项,避免不同项目之间的冲突。以下是创建虚拟环境的步骤。
① 打开终端:在Windows上,打开Anaconda Prompt;在macOS和Linux上,打开终端;

② 创建虚拟环境:运行以下命令来创建一个新的虚拟环境。您可以将<env_name>替换为您喜欢的环境名称,例如“my_env”。
conda create -n <env_name> python=<version>
例如,要创建一个名为myenv的虚拟环境,其中Python版本为3.10,可以运行:
conda create -n my_env python=3.10
③ 激活虚拟环境:运行以下命令来激活刚刚创建的虚拟环境。在Windows上,使用activate命令;在macOS和Linux上,使用source命令。
conda activate <env_name>
例如,要激活名为my_env的虚拟环境,可以运行:
conda activate my_env# To deactivate an active environment, use
conda deactivate
激活虚拟环境后,您将看到虚拟环境的命令提示符前缀显示为(<env_name>)。这意味着您现在正在使用该虚拟环境的Python解释器。

④ 安装PyTorch(CPU):在激活的虚拟环境中,使用pip安装PyTorch。根据您的需求,选择安装CPU版本。

pip3 install torch torchvision torchaudio
官网安装可能很慢(网络不佳和必要的时候可以添加国内源,清华国内源:https://pypi.tuna.tsinghua.edu.cn/simple)
pip install torch torchvision torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple


六、安装pytorch-GPU版本
6.1、查看CUDA显卡驱动版本
在cmd命令行终端输入nvidia-smi,可以查看到版本为12.5。

6.2、安装CUDA
① 为什么安装pytorch-GPU前一定要安装CUDA和CuDNN呢?
在安装PyTorch-GPU之前,需要先安装CUDA和cuDNN的原因如下:
1. CUDA是NVIDIA推出的并行计算平台和API模型,它使得显卡可以用于图像渲染和计算以外的
目的,例如通用并行计算。PyTorch通过CUDA可以充分利用GPU的计算能力,加速深度神经网络> 的学习和推理过程。
2. cuDNN是CUDA的扩展库,专门针对深度神经网络中的基础操作提供高度优化的实现方式,
例如卷积、池化、规范化以及激活层的前向和后向过 程。使用cuDNN可以大大提高深度学习模型在GPU上的运行效率。
因此,在安装PyTorch-GPU之前,需要先安装CUDA和cuDNN,以便能够充分利用GPU的计算能力,加速深度神经网络的学习和推理过程。如果不安装CUDA和cuDNN,PyTorch-GPU将无法正常工作。
从官网下载对应的CUDA版本,由于我的显卡版本为12.5,我只需要安装小于或者等于12.5.0都是可以的,我安装的是12.5.0,(目前建议安装11.8,https://download.pytorch.org/whl相对比较完善)。
官网地址:CUDA Toolkit Archive | NVIDIA Developer


下载好后,双击安装包进行安装
在安装过程中选择路径的时候,第一次选择的路径下的文件夹会消失。
此处为临时安装目录(默认就可),后期安装完成会自动删除。

选择“精简”模式,接下来一直点“下一步”就行啦~😉,精简模式会默认安装到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.5这个文件夹

(开始安装,等待后续安装完成)
查看是否安装成功,在命令行输入以下指令进行检查,出现以下类似的输出就证明安装成功。
nvcc -V

安装遇到的问题:
安装后不知道cuda安装到哪个文件夹下:【安装完CUDA后文件夹消失解答】
6.3、安装CuDNN(加速器)
通过官网进行安装CuDNN,网址:CUDA Deep Neural Network (cuDNN) | NVIDIA Developer

下载相对应的压缩包文件

安装并解压完后,将这几个文件夹复制到CUDA安装路径下,就已经安装完成啦😎

复制到cuda文件夹C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.5下。
CUDA安装默认路径:
Windows:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA
Linux:/usr/local/cuda

6.4、安装pytorch-GPU
在安装PyTorch之前,为了管理不同项目的Python环境,通常建议创建一个虚拟环境。虚拟环境可以帮助您隔离不同项目的依赖项,避免不同项目之间的冲突。以下是创建虚拟环境的步骤。
① 打开终端:在Windows上,打开Anaconda Prompt;在macOS和Linux上,打开终端;

② 创建虚拟环境:运行以下命令来创建一个新的虚拟环境。您可以将<env_name>替换为您喜欢的环境名称,例如“my_env”。
conda create -n <env_name> python=<version>
例如,要创建一个名为my_env的虚拟环境,其中Python版本为3.10,可以运行:
conda create -n myenv python=3.10
③ 激活虚拟环境:运行以下命令来激活刚刚创建的虚拟环境。在Windows上,使用activate命令;在macOS和Linux上,使用source命令。
conda activate <env_name>
例如,要激活名为my_env的虚拟环境,可以运行:
conda activate my_env
激活虚拟环境后,您将看到虚拟环境的命令提示符前缀显示为(<env_name>)。这意味着您现在正在使用该虚拟环境的Python解释器。
④ 安装PyTorch(GPU):在激活的虚拟环境中,使用pip安装PyTorch。根据您的需求,选择安装GPU版本。例如:(网络不佳和必要的时候可以添加国内源)
官网链接:PyTorch

命令
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
官网安装可能很慢(网络不佳和必要的时候可以添加国内源)
下面是一些镜像地址
清华镜像:https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
北京外国语大学镜像: https://mirrors.bfsu.edu.cn/anaconda/pkgs/main
阿里巴巴镜像:http://mirrors.aliyun.com/anaconda/pkgs/main

6.5 其他方法安装
(1)安装固定版本号
pip install torch==2.6.0+cu118 torchvision==0.21.0+cu118 torchaudio==2.6.0+cu118 -f
https://download.pytorch.org/whl/torch_stable.html
(2)离线安装torch,由于torch比较大,安装缓慢,可下载后离线安装
- 离线包下载地址:download.pytorch.org/whl/torch_stable.html
- 安装方式
pip install torch-2.0.1+cu118-cp310-cp310-win_amd64.whl
注意
1)Pytorch与torchvision版本对应问题
Pytorch与torchvision版本配套

七、pytorch-GPU安装验证
注意:torch.cuda.is_available() 为True则GPU可用,False表示不可用
import torchprint(torch.__version__)
print(torch.version.cuda)
print(torch.cuda.is_available()) #输出为True,则安装成功
运行输出
.
八、总结
🎉 恭喜您!您已经成功完成了PyTorch的安装教程。通过阅读本文,您了解了安装PyTorch的详细步骤,包括准备工作、判断显卡、创建虚拟环境、安装pytorch以及验证安装是否成功。 🚀
参考文章:
从零开始安装pytorch(包含GPU和CPU版本的安装)
【超详细教程】2024最新Pytorch安装教程(同时讲解安装CPU和GPU版本)
相关文章:
【超详细教程】2025年3月最新Pytorch安装教程(同时讲解安装CPU和GPU版本)
目录 一、前言二、pytorch简介三、安装准备工作3.1、下载Anaconda 四、判断是否有NVIDIA显卡五、安装pytorch-CPU版本六、安装pytorch-GPU版本6.1、查看CUDA显卡驱动版本6.2、安装CUDA6.3、安装CuDNN(加速器)6.4、安装pytorch-GPU6.5 其他方法安装注意 七…...
Unity光线传播体积(LPV)技术实现详解
一、LPV技术概述 光线传播体积(Light Propagation Volumes)是一种实时全局光照技术,通过将场景中的间接光信息存储在3D网格中,实现动态物体的间接光照效果。 核心优势: 实时性能:相比传统光照贴图,支持动态场景 硬件…...
Git和GitCode使用(从Git安装到上传项目一条龙)
第一步 菜鸟教程-Git教程 点击上方链接,完成Git的安装,并了解Git 工作流程,知道Git 工作区、暂存区和版本库的区别 第二步 GitCode官方帮助文档-SSH 公钥管理 点击上方链接,完成SSH公钥设置 第三步(GitCode的官方引…...
通信之光纤耦合器
以下是关于光纤耦合器的详细介绍: 定义与原理 - 定义:光纤耦合器是一种能使传输中的光信号在特殊结构的耦合区发生耦合,并进行再分配的器件,也叫分歧器、连接器、适配器、光纤法兰盘。 - 原理:利用不同光纤面紧邻光纤芯…...
5G核心网(5GC)开户中,DNN(Data Network Name,数据网络名称)
在5G核心网(5GC)开户中,DNN(Data Network Name,数据网络名称)是关键概念之一,以下是关于它的详细介绍: 定义 DNN是5G网络中用于标识外部数据网络的名称,相当于4G中的APN(Access Point Name),两者功能等价。 组成 DNN由两部分组成: 网络ID(NI):必选,至少包…...
OpenCV、YOLO与大模型的区别与关系
OpenCV、YOLO 和大模型的区别与关系 1. OpenCV(Open Source Computer Vision Library) 定位:开源的计算机视觉基础库。功能:提供传统的图像处理算法(如图像滤波、边缘检测、特征提取)和基础工具ÿ…...
虚拟电商-话费充值业务(二)话费充值对接供应商模块开发
一、对接供应商模块开发 供应商对接模块chongba_recharge_supplier主要负责的就是调用外部的供应商系统进行充值下单,这种调用是一种基于HTTP协议的调用。 此外在供应商对接模块中主要是实现的业务逻辑有: 1:余额或押金不足情况下的失败轮…...
练习题:110
目录 Python题目 题目 题目分析 需求理解 关键知识点 实现思路分析 代码实现 代码解释 函数定义: 计算值的总和: 测试函数: 运行思路 结束语 Python题目 题目 定义一个函数,接受一个字典作为参数,返回字…...
c#winform,倒鸭子字幕效果,typemonkey字幕效果,抖音瀑布流字幕效果
不废话 直接上效果图 C# winform 开发抖音的瀑布流字幕。 也是typemonkey插件字幕效果 或者咱再网上常说的倒鸭子字幕效果 主要功能 1,软件可以自定义添加字幕内容 2,软件可以添加字幕显示的时间区间 3,可以自定义字幕颜色,可以随…...
游戏被外挂攻破?金融数据遭篡改?AI反作弊系统实战方案(代码+详细步骤)
一、背景与需求分析 随着游戏行业与金融领域的数字化进程加速,作弊行为(如游戏外挂、金融数据篡改)日益复杂化。传统基于规则的防御手段已难以应对新型攻击,而AI技术通过动态行为分析、异常检测等能力,为安全领域提供了革命性解决方案。本文以游戏反作弊系统和金融数据安…...
晶晨S905L3A(B)-安卓9.0-开启ADB和ROOT-支持IPTV6-支持外置游戏系统-支持多种无线芯片-支持救砖-完美通刷线刷固件包
晶晨S905L3A(B)-安卓9.0-开启ADB和ROOT-支持IPTV6-支持外置游戏系统-支持多种无线芯片-支持救砖-完美通刷线刷固件包 适用型号:M401A、CM311-1a、CM311-1sa、B863AV3.1-M2、B863AV3.2-M、UNT403A、UNT413A、M411A、E900V22C、E900V22D、IP112H等等晶晨S905L3A(B)处…...
AI来了,新手如何着手学习软件开发?
AI时代新手学习软件开发的7步进化指南 (附具体工具与避坑策略) 一、建立“人机协作”学习观 AI是教练,不是替身 正确姿势:用AI辅助理解概念(如让DeepSeek 、ChatGPT用生活案例解释递归),但坚持手…...
JDK 24 Class File API 介绍
概述 JDK 24 引入的 Class File API 提供了一套类型安全的 API 用于操作 Java 类文件。这套 API 允许我们以编程方式读取、修改和创建 Java 类文件,而不需要直接处理底层的字节码。 注1:JDK 24 已于2025年3月18日正式发布,Release信息参见官…...
C++23:现代C++的模块化革命与零成本抽象新高度
以下代码为伪代码,仅供参考 一、标准库的范式突破 1. std::expected:类型安全的错误处理 std::expected<DataPacket, ErrorCode> parsePacket(ByteStream& stream) {if (stream.header_valid()) return decode_packet(stream);elsereturn s…...
《K230 从熟悉到...》矩形检测
《K230 从熟悉到...》矩形检测 《庐山派 K230 从熟悉到...》矩形检测 矩形检测技术是一种广泛应用于电子图像处理的核心技术。它通过识别和分析图像中的矩形结构,为各种应用提供基础支持。从传统图像处理算法到现代深度学习技术,矩形检测的实现途径多种多…...
Unity 面向对象实战:掌握组件化设计与脚本通信,构建玩家敌人交互
Langchain系列文章目录 01-玩转LangChain:从模型调用到Prompt模板与输出解析的完整指南 02-玩转 LangChain Memory 模块:四种记忆类型详解及应用场景全覆盖 03-全面掌握 LangChain:从核心链条构建到动态任务分配的实战指南 04-玩转 LangChai…...
3. 第三放平台部署deepseek
有时候我们会发现使用deepseek服务器,异常卡顿,这是由于多方面原因造成的,比如说访问人数过多等。想要解决这个问题,我们可以选择第三方平台进行部署 第三方平台 我们可以选择的第三方平台很多,比如硅基流动、秘塔搜索…...
【C++指针】搭建起程序与内存深度交互的桥梁(下)
🔥🔥 个人主页 点击🔥🔥 每文一诗 💪🏼 往者不可谏,来者犹可追——《论语微子篇》 译文:过去的事情已经无法挽回,未来的岁月还可以迎头赶上。 目录 C内存模型 new与…...
.NET开发基础知识1-10
1. 依赖注入(Dependency Injection) 技术知识:依赖注入是一种设计模式,它允许将对象的依赖关系从对象本身中分离出来,通过构造函数、属性或方法参数等方式注入到对象中。这样可以提高代码的可测试性、可维护性和可扩展…...
IEEE PDF Xpress校验出现 :字体无法嵌入问题以及pdf版本问题
文章目录 问题描述一、字体嵌入问题首先查看一下,哪些字体没有被嵌入查看window的font文件夹里的字体下载字体的网站修复字体嵌入问题 二、pdf版本不对 问题描述 在处理IEEE的camera ready的时候,提交到IEEE express的文件没有办法通过validate…...
cookie详解
一、cookie出现原因 http是无状态的,浏览器无法记录当前是哪个人浏览的,所以出现了cookie 作用:会话状态管理(用户登录状态、购物车、游戏分数)、个性化设置(主题、自定义设置)、浏览器行为跟…...
Mayo Clinic Platform在人工智能医疗领域的现状及启示意义研究
一、引言 1.1 研究背景与意义 在科技飞速发展的当下,人工智能(AI)已逐渐渗透至各个行业,医疗领域作为关乎人类生命健康的重要领域,也迎来了人工智能技术带来的深刻变革。人工智能医疗,作为人工智能与医疗行业深度融合的产物,正重塑着全球医疗的格局。 从全球范围来看,…...
Rust基础语法
以下是 Rust 语言基础语法的核心要点,结合与 JavaScript 的对比,帮助前端开发者快速掌握核心概念: 一、变量与常量 1. 变量声明 Rust:变量默认不可变,需用 mut 显式声明可变性。let x 5; // 不可变变量 le…...
如何将 Java 应用做成 EXE 的可执行软件
目录 前言一、情景介绍二、实现步骤1. 打 Jar 包2. 编写 bat 批处理文件3. bat 转 exe 前言 最近使用 GUI 帮朋友写了一个软件,为了方便他处理工作上的重复性且很麻烦的事情,程序是使用 Java 写的,就不得不面对一个问题:我必须将…...
第一篇:系统分析师首篇
目录 一、目标二、计划三、完成情况1.宏观思维导图2.过程中的团队管理和其它方面的思考 四、意外之喜(最少2点)1.计划内的明确认知和思想的提升标志2.计划外的具体事情提升内容和标志 一、目标 通过参加考试,训练学习能力,而非单纯以拿证为目的。 1.在复…...
自动关机监控器软件 - 您的电脑节能助手
## 自动关机监控器 - 您的电脑节能助手 自动关机监控器是一款基于Python开发的实用工具,旨在帮助用户节省电力资源并延长电脑使用寿命。该程序通过监控用户的鼠标和键盘活动,在设定的无活动时间后自动关闭计算机,特别适合需要长时间离开电脑但…...
线程概念与控制(中)
线程概念与控制(上)https://blog.csdn.net/Small_entreprene/article/details/146464905?sharetypeblogdetail&sharerId146464905&sharereferPC&sharesourceSmall_entreprene&sharefrommp_from_link我们经过上一篇的学习,接…...
K8S学习之基础六十二:helm部署memcached服务
helm部署memcached服务 #安装memcached的Chart docker load -i memcache_1_4_36.tar.gz #如果k8s用的是docker做容器运行时,用docker load -i导出镜像 ctr -nk8s.io images import memcache_1_4_36.tar.gz #如果k8s用的是containerd做容器运行时,用ctr…...
CPU 超线程技术以及如何关闭CPU超线程功能
CPU超线程技术介绍 CPU 超线程技术(Hyper-Threading Technology,HT)是英特尔提出的一种同时多线程(Simultaneous Multi-Threading, SMT)实现方式,其核心思想是通过逻辑层面的优化,让单个物理…...
Redis 源码硬核解析系列专题 - 第二篇:核心数据结构之SDS(Simple Dynamic String)
1. 引言 Redis没有直接使用C语言的标准字符串(以\0结尾的字符数组),而是自定义了SDS(Simple Dynamic String)。SDS是Redis的基础数据结构之一,广泛用于键值存储、命令参数等场景。本篇将深入剖析SDS的实现原理、优势以及源码细节。 2. 为什么不用C标准字符串? C字符串…...
