【安装教程】Windows10环境下Pytorch(GPU版)的安装与配置

目录

  • Pytorch的概念
  • 安装前要求
  • 一、NVIDIA驱动查看
  • 二、Anaconda的安装
    • 2.1 Anaconda的安装
    • 2.2 创建虚拟环境
    • 2.3 激活虚拟环境
  • 三、CUDA ToolKit的安装(选做,CPU版本可跳过)
    • 3.1 CUDA安装包的下载(以CUDA11.6.0为例)
    • 3.2 CUDA的安装
    • 3.3 验证CUDA安装是否成功
  • 四、cuDNN的安装(选做,CPU版本可跳过)
    • 4.1 cuDNN的下载
    • 4.2 复制到CUDA文件夹
  • 五、Pytorch的安装
    • 5.1 执行安装命令
    • 5.2 安装验证
  • 六、安装验证
    • 6.1 创建一个pycharm项目,并且选择虚拟环境作为解释器
    • 6.2 创建一个测试文件

Pytorch的概念

        PyTorch是一个开源的深度学习框架,由Facebook的人工智能研究团队开发。它提供了灵活的张量计算和自动求导功能,适合于研究和生产环境。由于其动态计算图的特性,PyTorch在模型构建和调试上非常方便,受到众多研究人员和开发者的欢迎。PyTorch支持GPU加速,具备丰富的库和工具,例如用于计算机视觉的TorchVision和用于自然语言处理的TorchText。


安装前要求

  • Windows 10电脑
  • 电脑显卡品牌为英伟达(Nvidia)

一、NVIDIA驱动查看

        以博主本机为例,显卡为NVIDIA GeForce GTX 1650,最高支持的CUDA版本是12.6。
命令:nvidia-smi
在这里插入图片描述


二、Anaconda的安装

2.1 Anaconda的安装

具体内容参考这篇博客:安装 Anaconda 3 开发环境


2.2 创建虚拟环境

        虚拟环境是一种工具,可以让您在同一台计算机上创建多个独立的Python环境,每个环境可以拥有自己的Python解释器版本、包和依赖项。通过使用虚拟环境,您可以为每个项目创建一个独立的环境,确保项目之间的依赖关系互不干扰,避免包冲突问题。

在这里插入图片描述

打开Anaconda Prompt后输入以下命令创建一个名为pytorch的虚拟环境,使用的python版本为3.10

conda create -n pytorch python=3.10

运行到下图步骤时,输入y后按回车
在这里插入图片描述
出现下图即表示虚拟环境创建成功

在这里插入图片描述


2.3 激活虚拟环境

创建完成后,激活该环境:

conda activate pytorch

激活输入下面命令查看conda环境,发现被激活的环境已经加入conda的虚拟环境

conda info -e

在这里插入图片描述


三、CUDA ToolKit的安装(选做,CPU版本可跳过)

3.1 CUDA安装包的下载(以CUDA11.6.0为例)

        网址:https://developer.nvidia.com/cuda-toolkit-archive
选择需要下载的版本,这里以11.6.0为例
在这里插入图片描述

按照自己需要选择对应的版本,注意:下载方式分为本地和网络下载,两种均可。

在这里插入图片描述


3.2 CUDA的安装

打开下载到电脑的安装包,开始执行安装步骤,这里默认安装到C盘,可以根据个人情况修改安装地址。

在这里插入图片描述

安装选项选择精简(推荐),省事,需要自定义的可以选择。

在这里插入图片描述


3.3 验证CUDA安装是否成功

执行完所有安装步骤后,打开命令提示符cmd,输入nvcc -V 查看是否安装成功
出现下图表示CUDA Tookit安装成功。
在这里插入图片描述


四、cuDNN的安装(选做,CPU版本可跳过)

        cuDNN(CUDA Deep Neural Network library)是 NVIDIA 提供的一个高性能深度学习库,专门用于加速深度神经网络的训练和推理。它是建立在 CUDA 之上的,能够利用 NVIDIA GPU 的并行计算能力。

4.1 cuDNN的下载

官网:https://developer.nvidia.com/rdp/cudnn-archive
注意:这个需要注册账号,用邮箱注册即可,填写相关信息。

在这里插入图片描述


4.2 复制到CUDA文件夹

在这里插入图片描述


五、Pytorch的安装

https://pytorch.org/get-started/previous-versions/,进入官网,找到需要的命令。
以本机为例,11.6查找11.6对应的conda或pip命令,这里安装。

5.1 执行安装命令

OSX(MAC)

# conda
conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 -c pytorch

Linux and Windows

# CUDA 11.6
conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.6 -c pytorch -c nvidia
# CUDA 11.7
conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 -c pytorch -c nvidia
# CPU Only
conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 cpuonly -c pytorch

5.2 安装验证

进入torch虚拟环境,执行pip show torch
出现下图表示安装成功
在这里插入图片描述


六、安装验证

        那么,将以上步骤执行完毕后,Pytorch的整体安装基本完成,接下来在Pycharm里测试torch是否可以查到自己的GPU,并且执行torch的简单方法。

6.1 创建一个pycharm项目,并且选择虚拟环境作为解释器

设置->项目->Python解释器->添加解释器->添加本地解释器->Virtualenv环境->选择现有->找到虚拟环境文件夹里的python.exe->自动识别python版本->确定

在这里插入图片描述

在这里插入图片描述


6.2 创建一个测试文件

创建下面文件,用来测试 PyTorch 是否能访问 GPU,并进行一些基础的语法测试。

import torchdef test_gpu_access():# 检查是否有可用的 GPUif torch.cuda.is_available():device = torch.device("cuda")  # 使用 GPUprint("GPU is available. Using:", torch.cuda.get_device_name(0))else:device = torch.device("cpu")  # 使用 CPUprint("GPU is not available. Using CPU.")return devicedef basic_tensor_operations(device):# 创建一个随机的张量并转移到指定设备x = torch.rand(5, 3, device=device)y = torch.rand(5, 3, device=device)print("Tensor X:", x)print("Tensor Y:", y)# 张量加法z = x + yprint("Tensor Z (X + Y):", z)# 计算张量的均值mean_z = z.mean()print("Mean of Tensor Z:", mean_z.item())if __name__ == "__main__":device = test_gpu_access()basic_tensor_operations(device)

下面运行结果即代表Pytorch安装成功,撒花!!!❀❀❀

在这里插入图片描述


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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【兼容多端】UNIAPP popper气泡弹层vue3+typescript unibest

最近要实习一个泡泡弹层。看了下市场的代码,要么写的不怎么好,要么过于复杂。于是拿个轮子自己加工。200行代码撸了个弹出层组件。兼容H5和APP和小程序。 功能: 1)只支持上下左右4个方向的弹层不支持侧边靠齐 2)不对屏幕边界适配 3)支持弹层…

EmEditor传奇脚本编辑器

主程序:EmEditor.exe 目前已有功能 可以自己指定一个快捷键 实现以下功能(默认快捷键为:F1) 以下全功能 都是鼠标所在行 按快捷键 (默认快捷键:F1) 1.在Merchant.txt中 一键打开NPC 没有…

注册安全分析报告:惠农网

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…

C语言 | Leetcode C语言题解之第462题最小操作次数使数组元素相等II

题目&#xff1a; 题解&#xff1a; static inline void swap(int *a, int *b) {int c *a;*a *b;*b c; }static inline int partition(int *nums, int left, int right) {int x nums[right], i left - 1;for (int j left; j < right; j) {if (nums[j] < x) {swap(…

前端的AI工具:ChatGPT Canvas与Claude Artifacts对比 -仅仅是OpenAI一个迟来的追赶吗?- 贺星舰五飞试验成功

如果你对OpenAI的ChatGPT Canvas和Anthropic的Claude Artifacts有所耳闻&#xff0c;可能会想知道这两个工具有何不同&#xff0c;以及哪个能让你的工作流程更加顺畅。这两个工具旨在提升生产力&#xff0c;但侧重点各异——编码、写作、创意和实时反馈。 本文将深入探讨ChatG…

面腾讯后台开发,二面挂掉了,,,

随着各厂秋招的开启&#xff0c;收到面试邀请的同学也越来越多。在当年和我一起找实习的同学里面&#xff0c;有实力较强的同学收到了腾讯后台开发的校招面试邀请。但面试不止是实力的竞争&#xff0c;也有很重要的运气的因素。 虽然我的同学在腾讯后台开发的二面中挂掉了&…

76.最小覆盖子串

题目:76. 最小覆盖子串 - 力扣&#xff08;LeetCode&#xff09; 代码思路: (滑动窗口) O(n) 这道题要求我们返回字符串 s中包含字符串 t 的全部字符的最小窗口&#xff0c;我们利用滑动窗口的思想解决这个问题。因此我们需要两个哈希表&#xff0c;hs哈希表维护的是s字符串中…

QT:“提升为“使用(自定义控件)

目录 一.步骤与作用 1.步骤 2.作用 二.使用 1.mainwindow.ui ->拖一个 Push Button 控件到画布->右击Push Button弹出对话框->单击"提升为" 2.输入提升类名称MyButton->点击添加 3.选择基类名称为QPushButton,点击提升 4.新建MyButton文件 5.在…

初等数学几百年重大错误:将根本不是无穷集的真子集误为其真子集

黄小宁 【摘要】长为1的直线段形橡皮筋A拉长为长为2的橡皮筋B&#xff08;可二等分&#xff09;&#xff0c;去掉拉力使B缩短成原来的A&#xff0c;A不是B的一半。同样可证直线段L均匀压缩变短为直线段D&#xff5e;L不能成为L的一部分。数学一直误以为D是L的一部分使康脱推出…

《RabbitMQ篇》消费者轮询消费消息

当有多个消费者都在同一个队列中拿取消息时&#xff0c;会轮询从队列中拿取消息消费。 RabbitMQUtil类为工具类&#xff0c;获取Channel。 import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.rabbitmq.client.ConnectionFactory;public…

HBuilder X 下载vue-router时 发生异常:npm ERR! code EPERM

一、异常 PS C:\Users\GL\Documents\HBuilderProjects\vj1> npm i vue-router3.6.5 npm ERR! code EPERM npm ERR! syscall mkdir npm ERR! path C:\Program Files\nodejs\node_cache\_cacache npm ERR! errno EPERM npm ERR! FetchError: Invalid response body while tr…

【Linux】来查看当前系统的架构

使用 uname 命令 uname -m 使用 arch 命令 arch 查看 /proc/cpuinfo 文件 查找 model name 或 Processor 字段。 cat /proc/cpuinfo 使用 lscpu 命令 lscpu

一些NLP代表性模型

&#xff08;一&#xff09;BERT 由Bidirectional Encoder Representations from Transformers的首字母组成&#xff0c;是encoder-only结构类型的代表。 模型分预训练和微调两步&#xff0c;预训练任务有两类&#xff1a;masked language model(MLM)、next sentence predict…

构造函数

引入&#xff1a;构造函数的由来 对于以下Date类&#xff1a; class Date { public:void Init(int year, int month, int day){year year;_month month;_day day;}void Print(){cout << _year << "-" << _month << "-" <&…

《自然语言处理NLP》—— 词嵌入(Word Embedding)及 Word2Vec 词嵌入方法

文章目录 一、词嵌入介绍1.示例介绍2.词嵌入的主要特点3.常见的词嵌入方法3.词嵌入的应用 二、Word2Vec 词嵌入方法1. 连续词袋模型&#xff08;CBOW&#xff09;2. Skip-gram模型3.Word2Vec方法的应用 在了解词嵌入之前需要了解什么是 独热编码&#xff08;One-Hot Encoding&…

【Spring相关技术】spring进阶-自定义请求报文转对象HttpMessageConverter

文章目录 类继承体系核心类与接口说明底层调用链完整示例步骤 1: 创建自定义的HttpMessageConverter步骤 2: 配置Spring MVC使用自定义转换器步骤 3: 使用自定义转换器 相关文献 类继承体系 默认转换器即springmvc默认的转换器&#xff0c; 用的比较多的是以下两种&#xff0c;…

18063 圈中的游戏

### 思路 这个问题是经典的约瑟夫环问题。我们可以使用链表来模拟这个过程。具体步骤如下&#xff1a; 1. 创建一个循环链表&#xff0c;表示所有人。 2. 从第一个人开始&#xff0c;依次报数。 3. 每报到3的人退出圈子&#xff0c;直到只剩下一个人。 ### 伪代码 function j…

TuyaOS开发学习笔记(4)——BLE开发搭建环境、编译烧写(NRF52832)

一、搭建环境 1.1 官方资料 TuyaOS 1.2 安装Visual Studio Code 官网下载&#xff1a;https://code.visualstudio.com 百度网盘&#xff1a;https://pan.baidu.com/s/1R62HT0PVmVzMwOXtCmIQwA 提取码&#xff1a;g9fb 1.3 安装Tuya Wind IDE 启动 Visual Studio Code 后&am…

肽合同制造(CDMO):北美和欧洲是全球最大肽合同制造(CDMO)消费地区

据 HengCe 最新调研&#xff0c;2023年中国肽合同制造&#xff08;CDMO&#xff09;市场销售收入达到了 万元&#xff0c;预计2030年可以达到 万元&#xff0c;2024-2030期间年复合增长率(CAGR)为 %。本研究项目旨在梳理肽合同制造&#xff08;CDMO&#xff09;领域产品系列&am…

前端布局与响应式设计综合指南(末)

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;Css篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来Css篇专栏内容:前端布局与响应式设计综合指南(末) 目录 61、为什么要初始化CSS样式 62、CSS3 有哪些新特性 63、…