Windows 系统从零配置 Python 环境,安装CUDA、CUDNN、PyTorch 详细教程
文章目录
- 1 配置 python 环境
- 1.1 安装 Anaconda
- 1.2 检查环境安装成功
- 1.3 创建虚拟环境
- 1.4 进入/退出 刚刚创建的环境
- 1.5 其它操作
- 1.5.1 查看电脑上所有已创建的环境
- 1.5.2 删除已创建的环境
- 2 安装 CUDA 和 CUDNN
- 2.1 查看自己电脑支持的 CUDA 版本
- 2.2 安装 CUDA
- 2.3 安装 CUDNN
- 2.4 检查 CUDA 安装成功(查看 GPU 使用率、显存占用情况)
- 3 安装 PyTorch
- 3.1 安装 PyTorch
- 3.2 检查安装是否成功
- 3.3 其它方法
- 4 在 PyCharm 中使用 PyTorch
- 5 远程 Linux 服务器配置 PyTorch
1 配置 python 环境
1.1 安装 Anaconda
进入anaconda官网:https://www.anaconda.com/
点击 download 下载文件,我这里是 Anaconda3-2022.10-Windows-x86_64.exe
(后续更新版本exe文件会有差别)
下载后打开 .exe
文件下载 anaconda:



选择安装路径(用默认的路径也可以):

这里两个都选:

然后安装就可以了。
1.2 检查环境安装成功
打开 cmd,输入 conda(如果是下图这样就说明 anaconda 安装成功了):
输入 python,这里可以查看 Python 的版本:
1.3 创建虚拟环境
在 cmd 中输入 conda create -n 环境名 python==版本号
,如:conda create -n pytorch python==3.9.13
(这里我自定义环境名为 pytorch,python 版本为 3.9.13)

输入 y

创建完就是这样的:

1.4 进入/退出 刚刚创建的环境
进入环境:输入 conda activate 环境名
,如 conda activate pytorch
退出环境:输入 conda deactivate

1.5 其它操作
1.5.1 查看电脑上所有已创建的环境
conda info --env

1.5.2 删除已创建的环境
conda remove -n 环境名 --all

2 安装 CUDA 和 CUDNN
2.1 查看自己电脑支持的 CUDA 版本
可参考:如何查看自己电脑当前版本CUDA 可兼容的最高版本

这就说明我的电脑可以安装的 CUDA 版本可以是 11.7.1 及以下的版本。
2.2 安装 CUDA
建议先去 pytorch 官网看下目前可以直接用指令安装的 CUDA 版本(主要是为了方便后续操作),此外,https://pytorch.org/get-started/previous-versions/ 也提供了以前版本的安装指令:

看 Compute Platform,有 CUDA 11.6
和 CUDA 11.7
,而且我电脑支持的最高 CUDA 版本为 11.7.1,所以后续安装时就安 11.6 或 11.7 版本的 CUDA。
前往 CUDA 官网:https://developer.nvidia.com/cuda-toolkit-archive
这里以 11.7.0 版本为例:
按如下选择(Installer Type两种都可以,因为是国外网站,下载用外网,如果速度慢的话就选 exe(network)
):
下载完后执行 .exe 文件。
根据自己需求选择是否更改安装路径:



选择自定义:

这个不用管,点下一步
就行:

选择安装位置(这里我改了路径,用默认的也可以,这个路径要记住,后续要用):




至此 CUDA 安装结束。
2.3 安装 CUDNN
进入官网:https://developer.nvidia.com/rdp/cudnn-download
先登录/注册账号,然后按如下选择:
将下载后的 zip 文件解压,里面的内容如下:

找到刚才安装 CUDA 时选择的安装位置:

然后将 CUDNN 中 bin
文件夹中的所有文件复制到 .../CUDA/v11.7/bin
中;
CUDNN 中 include
文件夹中的所有文件复制到 .../CUDA/v11.7/include
中;
CUDNN 中 lib/x64
文件夹中的所有文件复制到 .../CUDA/v11.7/lib/x64
中。
至此 CUDNN 安装结束。
2.4 检查 CUDA 安装成功(查看 GPU 使用率、显存占用情况)
在 cmd 中输入 nvidia-smi
,同时这个指令也可以查看 GPU 的一些信息,如果出现如下界面就说明 CUDA 安装成功了,这是最好的(但好像有的电脑会报错 'nvidia-smi'不是内部或外部命令
,这不一定就表示 CUDA 安装失败了,可以搜一下解决方案,或者暂时不用管,继续往后做,即使安装失败也不会影响后续的操作,后面安装完 pytorch 后还能用其他代码检查 CUDA 是否可用)。
3 安装 PyTorch
3.1 安装 PyTorch
进入官网:https://pytorch.org/
点击 Install:
按如下选择(CUDA 版本要对应),下图中 Run this Command
中的指令后续要用到:

打开 cmd,进入之前创建的 Python 环境,输入 conda activate 环境名
,如:conda activate pytorch
进入环境后输入指令(来源于上图):conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia
(这里要挂下外网,不然安装很慢的,没有条件的话请移步 【3.3 其它方法】。注意,不要像一些教程那样用清华源,用清华源安装的 pytorch 没有 GPU 版本的,全是依靠 CPU 的,GPU 和 CPU 的算力差距很大,跑深度学习代码时用 CPU 能慢死)
输入 y
:

然后等待安装就可以了,安装完是这样的:
3.2 检查安装是否成功
可输入如下指令:
import torch
print(torch.version.cuda) # 查看 CUDA 版本
print(torch.cuda.is_available()) # 查看 CUDA 是否可用(即训练时是否可用 GPU)
print(torch.cuda.device_count()) # 查看可行的 CUDA 数目
3.3 其它方法
如果没有加速器挂不了外网的话操作就比较麻烦了。这里再强调一遍!!!不要像一些教程那样用清华源,用清华源安装的 PyTorch 没有 GPU 版本的,全是依靠 CPU 的,跑深度学习代码时用 CPU 很慢。
在 PyTorch 官网中选择 Pip 的方法,找到如下网址:
然后我们进入打开这个网址,也就是 https://download.pytorch.org/whl/cu117
里面就是这样的:

我们需要自己下载的文件就是 torch
,torchvision
,torchaudio
然后我们先点击进入 torch
,找到如下位置(根据自己的 CUDA 版本、python 版本找到相应的文件,cu117 指的是 CUDA 版本为 11.7,cp39 指的是 python 版本为 3.9,版本一定要对应上),点击下载:
torchvision
和torchaudio
同理:


然后我们把这三个 .whl 文件随便放到一个文件夹下:

然后打开 cmd,进入到这个文件夹,用 pip install 刚刚下载的文件
安装:
pip install torch-1.13.1+cu117-cp39-cp39-win_amd64.whl
pip install torchvision-0.14.1+cu117-cp39-cp39-win_amd64.whl
pip install torchaudio-0.13.1+cu117-cp39-cp39-win_amd64.whl

4 在 PyCharm 中使用 PyTorch
首先新建项目,按如下步骤操作:

然后点击 Create
创建项目即可
可通过以下代码测试使用 PyTorch:
import torchprint(torch.version.cuda) # 查看 CUDA 版本
print(torch.cuda.is_available()) # 查看 CUDA 是否可用(即训练时是否可用 GPU)
print(torch.cuda.device_count()) # 查看可行的 CUDA 数目device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
print(device)
print(torch.cuda.get_device_name(0))
print(torch.rand(3, 3).cuda())
5 远程 Linux 服务器配置 PyTorch
远程服务器配置 Anaconda 并安装 PyTorch 详细教程
相关文章:

Windows 系统从零配置 Python 环境,安装CUDA、CUDNN、PyTorch 详细教程
文章目录1 配置 python 环境1.1 安装 Anaconda1.2 检查环境安装成功1.3 创建虚拟环境1.4 进入/退出 刚刚创建的环境1.5 其它操作1.5.1 查看电脑上所有已创建的环境1.5.2 删除已创建的环境2 安装 CUDA 和 CUDNN2.1 查看自己电脑支持的 CUDA 版本2.2 安装 CUDA2.3 安装 CUDNN2.4 …...

[REDIS]redis的一些配置文件
修改配置文件 vim /etc/redis/redis.conf目录 protected-mode tcp-backlog timeout tcp-keepalive daemonize pidfile loglevel databases 设置密码 maxclients maxmemory maxmemory-policy maxmemory-samples 默认情况下 bind127.0.0.1 只能接受本机的访问请求。在不写的情况…...

Java反序列化漏洞——CommonsCollections4.0版本—CC2、CC4
一、概述4.0版本的CommonsCollections对之前的版本做了一定的更改,那么之前的CC链反序列化再4版本中是否可用呢。实际上是可用的,比如CC6的链,引入的时候因为⽼的Gadget中依赖的包名都是org.apache.commons.collections ,⽽新的包…...

下载网上压缩包(包含多行json)并将其转换为字典的解决方案
大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理…...

【郭东白架构课 模块一:生存法则】11|法则五:架构师为什么要关注技术体系的外部适应性?
你好, 我是郭东白。 前四条法则分别讲了目标、资源、人性和技术周期,这些都与架构活动的外部环境有关。那么今天我们来讲讲在架构活动内部,也就是在架构师可控的范围内,应该遵守哪些法则。今天这节课,我们就先从技术体…...

Mindspore安装
本文用于记录搭建昇思MindSpore开发及使用环境的过程,并通过MindSpore的API快速实现了一个简单的深度学习模型。 什么是MindSpore? 昇思MindSpore是一个全场景深度学习框架,旨在实现易开发、高效执行、全场景覆盖三大目标。 安装步骤 鉴于笔者手头硬…...

C++010-C++嵌套循环
文章目录C010-C嵌套循环嵌套循环嵌套循环举例题目描述 输出1的个数题目描述 输出n行99乘法表题目描述 求s1!2!...10!作业在线练习:总结C010-C嵌套循环 在线练习: http://noi.openjudge.cn/ https://www.luogu.com.cn/ 嵌套循环 循环可以指挥计算机重复去…...

设计模式之迭代器模式与命令模式详解和应用
目录1 迭代器模式1.1 目标1.2 内容定位1.3 迭代器模式1.4 迭代器模式的应用场景1.5 手写字定义的送代器1.6 迭代器模式在源码中的体现1.7 迭代器模式的优缺点2 命令模式2.1 定义2.2 命令模式的应用场景2.3 命令模式在业务场景中的应用2.4 命令模式在源码中的体现2.5 命令模式的…...

【QA】[Vue/复选框全选] v-model绑定每一项的赋初值问题
发生场景:不只是复选框的状态改变,还有的功能要用到复选框的选中状态,比如:购物车计算总价,合计等等。 引入:复选框 checkbox 在使用时,需要用v-model绑定布尔值,来获取选中状态&…...

python基于django+vue微信小程序的校园二手闲置物品交易
在大学校园里,存在着很多的二手商品,但是由于信息资源的不流通以及传统二手商品信息交流方式的笨拙,导致了很多仍然具有一定价值或者具有非常价值的二手商品的囤积,乃至被当作废弃物处理。现在通过微信小程序的校园二手交易平台,可以方便快捷的发布和交流任何二手商品的信息,并…...

设计模式之观察者模式
什么是观察者模式 观察者模式定义了对象之间一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象都能收到通知并自动刷新。 观察者模式主要包含以下几个角色: Subject(目标):指被观察的对…...

Java Lambda表达式
目录1 Lambda表达式1.1 函数式编程思想概括1.2 Lambda表达式标准格式1.3 Lambda表达式练习1(抽象方法无参无返回值)1.4 Lambda表达式练习2(抽象方法带参无返回值)1.5 Lambda表达式练习2(抽象方法带参带返回值ÿ…...
【1237. 找出给定方程的正整数解】
来源:力扣(LeetCode) 描述: 给你一个函数 f(x, y) 和一个目标结果 z,函数公式未知,请你计算方程 f(x,y) z 所有可能的正整数 数对 x 和 y。满足条件的结果数对可以按任意顺序返回。 尽管函数的具体式子…...

java基础学习 day41(继承中成员变量和成员方法的访问特点,方法的重写)
继承中,成员变量的访问特点 a. name前什么都不加,name变量的访问采用就近原则,先在局部变量中查找,若没找到,继续在本类的成员变量中查找,若没找到,继续在直接父类的成员变量中查找,…...

【c语言进阶】深度剖析整形数据
🚀write in front🚀 📜所属专栏: 🛰️博客主页:睿睿的博客主页 🛰️代码仓库:🎉VS2022_C语言仓库 🎡您的点赞、关注、收藏、评论,是对我最大的激励…...
【信息系统项目管理师】项目管理十大知识领域记忆敲出(采购风险沟通干系人)
【信息系统项目管理师】项目管理十大知识领域记忆敲出(采购风险沟通干系人) 这里写目录标题【信息系统项目管理师】项目管理十大知识领域记忆敲出(采购风险沟通干系人)一.项目采购管理记忆敲出1.合同管理:2.规划采购管…...

[LeetCode 1237]找出给定方程的正整数解
题目描述 题目链接:[LeetCode 1237]找出给定方程的正整数解 给你一个函数 f(x, y) 和一个目标结果 z,函数公式未知,请你计算方程 f(x,y) z 所有可能的正整数 数对 x 和 y。满足条件的结果数对可以按任意顺序返回。 尽管函数的具体式子未知…...

6.2 构建 RESTful 应用接口
第6章 构建 RESTful 服务 6.1 RESTful 简介 6.2 构建 RESTful 应用接口 6.3 使用 Swagger 生成 Web API 文档 6.4 实战:实现 Web API 版本控制 6.2 构建 RESTful 应用接口 6.2.1 Spring Boot 对 RESTful 的支持 Spring Boot 提供的spring-boot-starter-web组件完全…...
20230218英语学习
How Italian Artist’s Mild Colors Dominate World of Design 温柔的“莫兰迪色”,如何引领设计时尚? The Morandi color scheme has become an across-the-board fashion that now prevails in the world of design.Soft and sophisticated Morandi c…...

Linux单一服务管理systemctl
基本上systemd这个启动服务机制只有systemctl命令来处理,所以全部的操作都需要使用systemctl systemctl管理单一服务 一般来说服务的启动有两个阶段,一个是开机是否启动,以及现在是否启动 systemctl【command】【unit】 command主要有&…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...

Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...

USB Over IP专用硬件的5个特点
USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...

听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...