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主要有&…...
【GStreamer 】 TX1中CPU和GPU解码显示海康相机RTSP流
大家好,我是虎哥,今天找了一套海康的相机,想后续测试一下DeepStream用网络相机RTSP流做输入看看后续目标识别和分类。但是还是想先实时看看视频,当然,可以选择VLC去查看,顺道我也用GStreamer 来测试了一下&…...
匿名内部类、Lambda表达式、方法引用对比分析
文章目录一、匿名内部类1. 语法格式2. 使用方法① 传统方式② 匿名内部类方式二、Lambda表达式1. 语法格式2. 使用方法① 匿名内部类方式② Lambda表达式方式三、方法引用1. 语法格式2. 使用方法① 类型的静态方法引用② 类型的构造方法引用③ 类型的实例方法引用④ 对象的实例…...
ESXi主机CVE-2021-21972漏洞复现安全处置建议
一、漏洞简介 vSphere 是 VMware 推出的虚拟化平台套件,包含 ESXi、vCenter Server 等一系列的软件。其中 vCenter Server 为 ESXi 的控制中心,可从单一控制点统一管理数据中心的所有 vSphere 主机和虚拟机。 vSphere Client(HTML5…...
研报精选230217
目录 【行业230217毕马威】奢侈品行业新气象【行业230217国信证券】医药生物行业2023年2月投资策略:持续关注疫后复苏和创新两大主线【行业230217国金证券】航空锻造:稳定格局筑专业化壁垒,顺势而为拓产业链深度【个股230217西南证券_招商轮船…...
c++11 标准模板(STL)(std::unordered_set)(一)
定义于头文件 <unordered_set> template< class Key, class Hash std::hash<Key>, class KeyEqual std::equal_to<Key>, class Allocator std::allocator<Key> > class unordered_set;(1)(C11 起)namespace pmr { templ…...
【C语言进阶】你听说过柔性数组吗?
👦个人主页:Weraphael ✍🏻作者简介:目前是C语言学习者 ✈️专栏:C语言航路 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论💬 点赞&a…...
[LeetCode]1237. 找出给定方程的正整数解
题目链接:https://leetcode.cn/problems/find-positive-integer-solution-for-a-given-equation/description/ 题目描述: 样例1: 输入:function_id 1, z 5 输出:[[1,4],[2,3],[3,2],[4,1]] 解释:functi…...
【路径规划】基于A*算法和Dijkstra算法的路径规划(Python代码实现)
👨🎓个人主页:研学社的博客💥💥💞💞欢迎来到本博客❤️❤️💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密…...
蓝桥杯 stm32 PWM 设置占空比
本文代码使用 HAL 库。 文章目录 前言一、创建CubeMX 工程 ,占空比分析:二、相关函数:1. 获取 CNT函数2.设置CNT为 0 函数(计算器清零)3.开启TIM2_CH1的输入捕获中断函数4.TIM 回调函数三、设置上升沿,下降沿四、在lcd上显示 R40 占空比 详细代码五、设置占空比,输出 PW…...
React 合成事件理解
1 事件三个阶段 捕获、目标、处理 (具体百度,后面有空补全)2import React from "react";class Test extends React.Component {parentRef;childRef;constructor(props) {super(props);this.parentRef React.createRef();this.chil…...
源码做网站教程/百度推广优化技巧
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼最近学习CUDA C的编程,在并行运行一个简单的解调算法的时候,统计时间后发现运行速度越来越慢(但还是运算结果正确的),后来简化到只运行其中一个核函数的时候,就算复杂度下降了&#x…...
网络营销推广的三斧/seo外链收录
word2vec是早期NLP的必要预处理过程,其用于生成词的向量表示(embeding)。 其将单词映射为固定长度的向量(embeding向量),而通过向量表示可以更好地表达不同词之间的相关性,因此会使得后续的分类…...
商业设计说明/杭州seo网站
题面描述了一种加密的方式,让coder按照要求解密~ 将字母分成三段,再将位置用数组储存~所谓的旋转其实就是右移~ #include"cstdio" #include"iostream" #include"cstring" using namespace std; int main() { int k1,k2,…...
diy做网站/泰州seo排名扣费
英语学习/词典APP排行五排名: 1.网易有道词典(单词查询翻译类软件). 2.百词斩(单词记忆类软件). 3.沪江开心词场. 4.金山词霸. 5.流利说英语(英语口语APP). 个软件的分析: 1.对网易有单词典的分析ÿ…...
b2c商城网站开发价格/目前最流行的拓客方法
一致性Hash算法普通余数Hash算法与一致性Hash算法的区别,一致性Hash算法解决了什么问题?普通余数Hash算法我们前面研究Memcache(mc)与Redis的区别时,分析到mc是通过客户端来实现服务集群高可用的,客户端会有…...
织梦dedecms资讯文章类网站模板/seo如何快速排名
Ser vlet 3十二月2009开发平台标准版6,6可插性,易于开发,异步ser vlet,安全,文件上传 Ser vlet 2.5九月2005开发平台标准版5,5需要平台标准版5,支持注释 Ser vlet 2.4十一月2003中1.4࿰…...