史上最强 PyTorch 2.2 GPU 版最新安装教程

news2024/11/23 21:02:13

一 深度学习主机

1.1 配置

先附上电脑配置图,如下:

利用公司的办公电脑对配置进行升级改造完成。除了显卡和电源,其他硬件都是公司电脑原装。

1.2 显卡

有钱直接上 RTX4090,也不能复用公司的电脑,其他配置跟不上。
进行深度学习,除了看算力外,还需要看显存大小,最用在 RTX3060 12G显存和RTX 4060 16G显存 之间进行了选择。 最后买了RTX 4060 16G显存的显卡。
显卡大小:显卡有1风扇、2风扇和3风扇之分,风扇越多散热性能越好,但是我的电脑是itx 小机箱,最后买了个2风扇的显卡。

1.3 电源

原电源为310w, 更换成了650w的电源。 买显卡时,都会写建议电源功率。

1.4 风扇

担心散热问题,换了个好点的风扇。后来发现还不如不换,太能折腾了。

至此,深度学习入门主机硬件准备完毕。哈哈。

二 安装显卡驱动

官方客服给的启动安装方法:

您好,这个是N卡官网的驱动下载链接:https://www.nvidia.cn/Download/Find.aspx?lang=cn
您选择好您的显卡版本,选择对应的系统版本后点击搜索就可以了
主要玩游戏选择geforce game ready,主要用来做设计选择studio驱动。
如何选择对应的显卡版本:
★★★★★★★★★
这部分您要仔细看下的哦~
★★★★★★★★★
产品类型:
选择Geforce
产品系列:
例如4060 4070 4080 4090就选择Geforce RTX 40 series
3050 3060 3070 3080 3090就选择Geforce RTX 30 series 
2060 2070 2080 就选择Geforce RTX 20 series
1650 1660就选择 Geforce 16 series
1030 1050 1060 1070 1080就选择 Geforce 10 series
960 970 980就选择 Geforce 900 series
710 730就选择 Geforce 700 series
★★★★重点注意!(不要选择后缀带notebooks的那个是笔记本的驱动)★★★★
产品家族:
在这里选择您具体的显卡型号就可以了哈~
具体的显卡型号您可以通过您的商品订单,或者是显卡包装盒上看到的哈~
操作系统:
选择您当前电脑的系统即可
其他的选项默认即可
会出来很多驱动版本的选项,任意选择一个对应类型的下载安装就可以的 

深度学习选择studio驱动


可以同时安装两种驱动,自由切换。

不安装此显卡驱动,hdmi连接显卡后,我的显示屏显示有问题

三 安装python

Latest PyTorch requires Python 3.8 or later.

从 https://www.anaconda.com/download 下载对应的 Anaconda 版本安装即可。
打开 Anaconda 创建虚拟环境 torch2_gpu, 如下图所示:

打开终端验证:

四 安装 Visual Studio

安装 CUDA 之前需要先安装 Visual Studio, 否则会出现如下提示:

从 https://visualstudio.microsoft.com/zh-hans/free-developer-offers/ 下载 Visual Studio Community.
在安装选项,选择 使用C++的桌面开发 即可。

五 CUDA 安装

5.1 CUDA 简介

官网地址:https://developer.nvidia.com/cuda-toolkit
CUDA(Compute Unified Device Architecture)是由NVIDIA开发的并行计算平台和编程模型,用于利用NVIDIA GPU(Graphics Processing Unit)进行通用目的计算(GPGPU)。它是一种为GPU编程提供高性能和易用性的软件环境。
CUDA的主要目标是将GPU作为计算加速设备,用于执行并行计算任务,特别是科学计算和深度学习等领域。它通过提供一套编程接口(API)和工具集,使开发者能够利用GPU的大规模并行计算能力,以加速计算密集型任务。
使用CUDA,开发者可以使用编程语言如C/C++、Python等来编写GPU加速的程序。CUDA提供了一系列库和工具,如CUDA Runtime库、CUDA Tools(如nvcc编译器)和NVIDIA Nsight开发环境,用于编译、调试和优化CUDA程序。
CUDA的优势在于其紧密结合了NVIDIA GPU的体系结构特点,可对任务进行细粒度的并行处理,并利用GPU上的数百到数千个核心同时执行计算任务。这使得CUDA成为目前广泛应用于科学计算、数值模拟、深度学习等领域的GPU编程平台。
值得注意的是,对于使用CUDA进行开发的程序,其执行的硬件需求需要是支持CUDA的NVIDIA GPU,并且需要安装相应的CUDA驱动程序和运行时库。

5.2 查看 CUDA 版本

  1. 命令行查看 CUDA 版本

  1. NAVIDIA 控制面板中查看 CUDA 版本

打开 NVIDIA Control Panel

点击 管理 3D 设置 --> 系统信息

查看 CUDA 版本为:12.4

上述结果说明可以安装 CUDA 12.4 及以下的版本。
不要着急直接安装该版本的 CUDA,因为还有需要安装配套的pytorch。

5.3 确定 CUDA 和 PyTorch 版本

从 PyTorch 官网 https://pytorch.org 确定对应关系,如下图所示:

我们选择安装最新版 PyTorch 2.2.2 以及对应的计算平台 CUDA 12.1

5.4 CUDA 下载安装

  1. 进入 CUDA 官网,根据上面确定的 CUDA 版本,下载对应的版本。

  1. 点击下载的 exe 文件进行安装

  1. 选择安装目录

  1. 系统检查完毕,点击同意

  1. 选择 自定义安装,点击下一步

  1. 继续点击下一步

  1. 选择安装路径,一般默认即可。

  1. 等待安装完成

  1. 点击下一步

  1. 点击关闭,结束

  1. 查看环境变量,已经自动配置

5.5 验证 CUDA 是否安装成功

六 cuDNN 安装

6.1 cuDNN 简介

官网地址:https://developer.nvidia.com/cudnn

cuDNN(CUDA Deep Neural Network)是由NVIDIA开发的深度神经网络(DNN)加速库,专门用于在CUDA平台上进行深度学习任务的加速。
cuDNN提供了高度优化的DNN(深度神经网络)基础操作和算法实现,如卷积、池化、归一化、激活函数等,以及自动求导和张量操作等。它利用了NVIDIA GPU的并行计算能力和高度可编程的架构,提供了高性能的DNN计算和训练加速。
通过使用cuDNN,深度学习框架(如TensorFlow、PyTorch等)可以利用其提供的GPU加速功能,加快训练和推理的速度。cuDNN库实现了高效的卷积计算和其他操作,优化了计算过程和内存使用,以最大化GPU的利用率和性能。
cuDNN还提供了一些高级功能,如自动调整算法的性能和内存使用、混合精度计算等,以进一步提高深度学习任务的效率和性能。
一句话说明,cuDNN是NVIDIA为深度学习开发者提供的一个重要工具,它通过高度优化的DNN操作和算法实现,使得深度学习框架能够更有效地利用CUDA和NVIDIA GPU的性能,加速深度学习任务的执行。
它的主要特性如下:

  • 为各种常用卷积实现了 Tensor Core 加速,包括 2D 卷积、3D 卷积、分组卷积、深度可分离卷积以及包含 NHWC 和 NCHW 输入及输出的扩张卷积
  • 为诸多计算机视觉和语音模型优化了内核,包括 ResNet、ResNext、EfficientNet、EfficientDet、SSD、MaskRCNN、Unet、VNet、BERT、GPT-2、Tacotron2 和 WaveGlow
  • 支持 FP32、FP16、BF16 和 TF32 浮点格式以及 INT8 和 UINT8 整数格式
  • 4D 张量的任意维排序、跨步和子区域意味着可轻松集成到任意神经网络实现中
  • 能为各种 CNN 体系架构上的融合运算提速

注意:在数据中心和移动 GPU 中采用 Ampere、Turing、Volta、Pascal、Maxwell 和 Kepler GPU 体系架构的 Windows 和 Linux 系统均支持 cuDNN。

6.2 cuDNN 下载安装

  1. 进入 cuDNN 官网,选择对应的版本进行下载。


因此时没有win11的选项,故选择 Tarball 进行下载。

  1. 将下载的压缩包解压

  1. 将解压后 bin 目录的内容全部放到 CUDA 对应的 bin 目录下。

  1. 将解压后 include 目录的内容全部放到 CUDA 对应的 include 目录下

  1. 将解压后 lib 目录下 x86 目录内容全部放到 CUDA 对应的 lib 目录下 x86 目录下

  1. 配置环境变量,将 CUDA bin/include/lib下x86目录配置到环境变量中。


只需添加绿框中两个环境变量即可,因为前两个在用 exe 文件安装 cuda 时已经自动添加了。

6.3 验证 cuDNN 是否安装成功

返回 GPU 型号,则安装成功。

七 PyTorch 安装

7.1 安装

根据官网安装信息

使用如下命令进行安装:

conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia


如果使用 pip 进行安装,命令如下:

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

查看安装包,如下图所示:

7.2 验证 GPU 是否可用

torch.cuda.is_available() 为True则GPU可用,False表示不可用。

import torch
print(torch.__version__)
print(torch.version.cuda)
# 输出为True,则安装无误
print(torch.cuda.is_available())  

结果如下图所示:

八 参考链接

  • https://blog.csdn.net/m0_63007797/article/details/132269612
  • https://zhuanlan.zhihu.com/p/651151335

欢迎关注微信公众号:大数据AI

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

路由和远程访问是什么?

路由和远程访问在现代互联网时代中,扮演着至关重要的角色。它们为我们提供了便捷的信息传递途径,让不同地区的电脑、设备以及人们之间能够轻松进行通信和交流。 对于路由来说,它是连接互联网上的各个网络的核心设备。一台路由器可以将来自不同…

Linux——线程控制

目录 前言 一、线程创建 1.创建线程 2.线程传递结构体 3.创建多线程 4.收到信号的线程 二、线程终止 三、线程等待 四、线程分离 五、取消线程 六、线程库管理的原理 七、站在语言角度理解pthread库 八、线程的局部存储 前言 前面我们学习了线程概念和线程创建&…

揭开HTTP状态码的神秘面纱:基本概念全解析

在客户端与服务器之间的信息传输过程中,我们可以将其比喻为客户与快递员之间的包裹传递。那么服务器是如何通知客户端,操作是成功还是失败?或者有其他的一些情况呢?(就像客户可以查询快递的状态) 而这背后…

搜维尔科技:SenseGlove Nova 允许以最简单的方式操作机器人并与物体交互

扩展 Robotics 和 QuarkXR 人机界面 XR 应用 Extend Robotics 利用扩展现实技术,让没有机器人专业知识的个人能够远程控制机器人。他们的 AMAS 解决方案使操作员能够不受地理限制地轻松控制机器人。 需要解决的挑战【搜维尔科技】 目前,操作机器人是一…

10秒钟用python接入讯飞星火API(保姆级)

正文: 科大讯飞是中国领先的人工智能公众公司,其讯飞星火API为开发者提供了丰富的接口和服务,以支持各种语音和语言技术的应用。 步骤一:注册账号并创建应用 首先,您需要访问科大讯飞开放平台官网,注册一个…

最优算法100例之21-数组的逆序对

专栏主页:计算机专业基础知识总结(适用于期末复习考研刷题求职面试)系列文章https://blog.csdn.net/seeker1994/category_12585732.html 题目描述 逆序数: 在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一…

MQ消息队列详解以及MQ重复消费问题

MQ消息队列详解以及MQ重复消费问题 1、解耦2、异步调用3、流量削峰4、MQ重复消费问题,以及怎么解决?4.1、重复消费产生4.2、解决方法: https://blog.csdn.net/qq_44240587/article/details/104630567 核心的就是:解耦、异步、削锋…

redis链表结构和简单动态字符串(SDS)

1.双向链表 redis中的普通链表是双向链表。通过链表节点结构体可知有全驱节点和后继节点。 1.链表节点和链表 //adlist.h typedef struct listNode {struct listNode *prev; //前驱节点struct listNode *next; //后继节点void *value; //节点值 } list…

element-ui result 组件源码分享

今日简单分享 result 组件的源码实现,主要从以下三个方面: 1、result 组件页面结构 2、result 组件属性 3、result 组件 slot 一、result 组件页面结构 二、result 组件属性 2.1 title 属性,标题,类型 string,无默…

深入OceanBase内部机制:多租户架构下的资源隔离实现精讲

码到三十五 : 个人主页 心中有诗画,指尖舞代码,目光览世界,步履越千山,人间尽值得 ! 目录 一、什么是OceanBase的多租户二、兼容模式2.1 MySQL 模式2.2 Oracle 模式 三、租户介绍3.1 系统租户3.2 用户租户3.3 Meta 租…

STM32应用开发——使用PWM+DMA驱动WS2812

STM32应用开发——使用PWMDMA驱动WS2812 目录 STM32应用开发——使用PWMDMA驱动WS2812前言1 硬件介绍1.1 WS2812介绍1.1.1 芯片简介1.1.2 引脚描述1.1.3 工作原理1.1.4 时序1.1.5 传输协议 1.2 电路设计 2 软件编程2.1 软件原理2.2 测试代码2.2.1 底层驱动2.2.2 灯效应用 2.3 运…

联想 Y9000P 连接网线速度慢 的 问题解决

参考帖子:求助,拯救者Y9000P 2022 i73060版本 有线网非常慢 无线网正常【笔记本吧】_百度贴吧 问题原因: 网卡驱动版本不对。不能用Win11版,要用Win10版。 问题解决: 1、卸载原驱动 2、下载Win10 驱动 并安装 下载…

探寻大数据思想的主要贡献者与核心内容

引言: 在当今数字化时代,大数据已成为企业和科学研究的关键要素。其背后的思想和概念不仅引领了数据处理和分析的革新,也推动了人类对于信息时代的理解与认知。 大数据思想的起源: 在信息爆炸的时代背景下,大数据思…

QT5-qmediaplayer播放视频及进度条控制实例

qmediaplayer是QT5的播放视频的一个模块。它在很多时候还是要基于第三方的解码器。这里以Ubuntu系统为例,记录其用法及进度条qslider的控制。 首先,制作一个简单的界面文件mainwindow.ui: 然后,下载一个mp4或其他格式视频&#x…

Java设计模式:代理模式的静态和动态之分(八)

码到三十五 : 个人主页 心中有诗画,指尖舞代码,目光览世界,步履越千山,人间尽值得 ! 在软件设计中,代理模式是一种常用的设计模式,它为我们提供了一种方式来控制对原始对象的访问。在Java中&a…

微信开发工具——进行网页授权

微信开发工具——进行网页授权 微信公众平台设置 1.在首页创建好自己的订阅号 网站:https://mp.weixin.qq.com/ 点击立即注册,在选择订阅号(个人创建使用) 之后按流程填写后,点击设置与开发-------->基本配置,这…

【苍穹外卖】SkyApplication类启动报错

报的这个错 The PoM for com.sky:sky-common:jar:1.0-SNAPSHoT is missing, no dependency information available Maven里重新install一下就好

DOTS:Burst

目录 一:简介 1.1 Getting started 1.2 C# language support 1.2.1 HPC# overview 1.2.1.1 Exception expressions 1.2.1.2 Foreach and While 1.2.1.3 Unsupported C# features in HPC# 1.2.2 Static read-only fields and static constructor support 1.…

Linux 使用管理线程、多线程、分离线程

目录 一、使用线程 1、pthread_create创建线程 2、pthread_join等待线程 主线程获取新线程退出结果 获取新线程退出返回的数组 3、线程异常导致进程终止 4、pthread_exit 5、pthread_cancel 6、主线程可以取消新线程,新线程可以取消主线程吗 二、如何管理线…

open Gauss 数据库-03 openGauss数据库维护管理指导手册

发文章是为了证明自己真的掌握了一个知识,同时给他人带来帮助,如有问题,欢迎指正,祝大家万事胜意! 目录 前言 openGauss数据库维护管理 1 操作系统参数检查 1.1 实验介绍 1.2 场景设置及操作步骤 2 openGauss 运…