Windows11安装CUDA、cuDNN、PyTorch详解

news2024/12/18 13:29:13

 

目录

CUDA查看

CUDA下载 

CUDA安装

 cuDNN安装

PyTorch安装


        复现环境:

系统版本
CUDA12.3
cuDNN9.5.0
Python3.9
PyTorch2.3.1
Windows11

CUDA查看

        首先我们需要看一下操作系统是否支持GPU。打开任务管理器,点击性能,如图:

这表明作者电脑支持GPU计算。如果电脑不支持GPU,后续操作也就不需要了,只能使用CPU进行深度学习。

        下面开始安装CUDA。 

        ‌CUDA(Compute Unified Device Architecture)是显卡厂商‌NVIDIA推出的一种通用并行计算架构‌,旨在利用‌GPU(图形处理器)进行高性能计算。

        执行如下命令,检查操作系统是否已经安装了CUDA: 

nvcc -V

如果执行命令后,如图: 

说明并未安装CUDA。 

        执行如下命令,查看Windows操作系统NVIDIA GPU驱动版本以及支持的CUDA最高版本:

nvidia-smi

 如图:

可以看到NVIDIA GPU驱动版本为546.56,支持的CUDA最高版本为12.3。

        登录如下地址,可以查看CUDA版本和对应的NVIDIA GPU驱动版本兼容表格:

CUDA 12.6 Update 2 Release Notes

如图: 

可以看到CUDA版本不高于CUDA 12.3 Update 1版本均可。 


CUDA下载 

        CUDA下载地址如下:

CUDA Toolkit Archive | NVIDIA Developer

如图:

选择对应的版本,例如作者选择CUDA Toolkit 12.3.0。点击后如图: 

选择对应的操作系统,例如作者选择Windows,如图: 

依次选择对应操作系统配置,如图:

 点击Download下载CUDA。下载成功后,安装包名称如下:

cuda_12.3.0_545.84_windows.exe


CUDA安装

        双击下载的CUDA安装可执行程序,需要选择一个临时目录存放抽取的安装包(安装完成后会自动删除临时目录、安装的目标目录在后面选择),如图:

点击OK后,如图: 

下面按照步骤安装即可: 

选择自定义,如图: 

这里需要选择安装的目录,如图: 

点击关闭,安装完成。

        执行如下命令,检查是否安装成功:

nvcc -V

结果如图: 

表示已经安装成功。 


 cuDNN安装

        ‌cuDNN(CUDA Deep Neural Network library)是一个由NVIDIA开发的深度学习GPU加速库,旨在为深度学习任务提供高效、标准化的原语(基本操作)来加速深度学习框架在NVIDIA GPU上的运算。

        cuDNN安装需要先注册账号。登录如下地址:

cuDNN 9.5.0 Downloads | NVIDIA Developer

登录成功后,如图:

选择对应版本进行下载。如果当前界面没有你需要的版本,可访问如下历史版本页面进行下载:

https://developer.nvidia.com/rdp/cudnn-archive

 下载完成后,安装包名称如下:

cudnn-windows-x86_64-9.5.0.50_cuda12-archive.zip

解压后,目录结构如图:

将目录下所有文件夹和文件复制到CUDA的安装目录下,如图: 

如果有重复,可事先做好备份后,直接替换即可。 


PyTorch安装

        PyTorch是一个开源的深度学习框架,主要用于构建和训练深度学习模型。‌ 它是由‌Facebook的‌AI研究实验室(FAIR)开发的,以其灵活性和易用性著称,特别适合于图像识别、自然语言处理等应用。PyTorch使用‌Python编写,这使得它对于大多数机器学习开发者和数据科学家来说,学习和使用起来相对简单。PyTorch的核心特点包括:‌12

  1. 动态计算图‌:与TensorFlow的静态计算图不同,PyTorch的计算图是动态的,可以根据计算需要实时改变,这使得实验和原型设计变得非常快速和灵活。
  2. GPU加速‌:PyTorch完全支持GPU,能够利用GPU的强大计算能力来加速深度学习模型的训练过程,这对于大规模数据处理尤为重要。
  3. 自动微分‌:PyTorch使用反向模式自动微分技术,可以自动计算梯度,这对于训练深度学习模型至关重要。
  4. 模块化设计‌:PyTorch提供了丰富的模块和工具,如torch.nn用于构建神经网络,torch.optim用于优化模型参数,torch.autograd用于自动微分等,这使得构建和管理复杂的深度学习模型变得简单。

此外,PyTorch还具有高度的灵活性和可扩展性,支持多种硬件平台,并且有一个活跃的社区,提供了大量的教程和资源,使得用户可以快速上手并解决实际问题。因此,PyTorch成为了深度学习领域非常受欢迎的选择之一。

        登录PyTorch官网地址:

PyTorch

如图:

选择对应的版本,如果当前界面没有需要安装的版本,点击左下角PyTorch之前版本,如图:

找到对应版本的命令,作者选择CUDA12.1对应的PyTorch版本,安装命令如下: 

pip install torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 --index-url https://download.pytorch.org/whl/cu121

如果需要加速,可先执行如下命令设置清华镜像后,再执行上面的安装命令:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

执行后如下:

安装包2.4G,需要等待一段时间。如果读者还是觉得慢,可登录阿里镜像下载PyTorch的轮子进行安装:

pytorch-wheels安装包下载_开源镜像站-阿里云

下载完成后,安装轮子的名称如下:

torch-2.3.1+cu121-cp39-cp39-win_amd64.whl

进入轮子所在目录,执行如下命令进行安装(注意也需要事先设置清华镜像后加速安装):

pip install "torch-2.3.1+cu121-cp39-cp39-win_amd64.whl"

如图:

 建议使用清华镜像配合阿里轮子安装。 

        可以执行如下命令,查看torch版本以及使用的设备(GPU或者CPU):

import torch

# 查看torch版本.
print(torch.__version__)

# 检查使用设备.
device = (
    "cuda"
    if torch.cuda.is_available()
    else "mps"
    if torch.backends.mps.is_available()
    else "cpu"
)
print(f"Using {device} device")

如果PyTorch安装成功了,输出结果如下: 

Using cuda device
2.3.1+cu121

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

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

相关文章

RabbitMQ 入门(二)入门案例

一、RabbitMQ的基本结构、角色和消息模型 MQ的基本结构: RabbitMQ中的一些角色: - publisher:生产者 - consumer:消费者 - exchange个:交换机,负责消息路由 - queue:队列,存储消息…

智汇云舟亮相WAFI世界农业科技创新大会,并参编数字农业产业图谱

10月10日,2024WAFI世界农业科技创新大会农食行业创新与投资峰会在北京金海湖国际会展中心举行。中国农业大学MBA教育中心主任、教授付文阁、平谷区委常委、统战部部长刘堃、华为公共事业军团数字政府首席专家刘丹、荷兰瓦赫宁根大学前校长Aalt Dijkhuizen、牧原食品…

iPad备份软件哪个好?好用的苹果备份软件推荐

苹果手机在将数据备份到电脑时,需要通过第三方的管理软件,才可以将手机连接到电脑进行备份。苹果手机备份软件有很多,常用的有:爱思助手、iMazing、iTuns等。那么这三款常用的备份软件究竟哪款更好呢?下面就给大家盘点…

Docker 容器跨主机通信 overlay

Docker 容器跨主机通信 overlay 一.Overlay网络概述 ​ Overlay网络是指在不改变现有网络基础设施的前提下,通过某种约定通信协议,把二层报文封装在IP报文之上的新的数据格式。Overlay网络采用VXLAN(Virtual Extensible LAN)技术…

通过docker镜像安装elasticsearch和kibana

目录 前言安装elasticsearch:7.17.21安装对应版本的kibana 前言 本文主要参考:https://blog.csdn.net/qq_23859799/article/details/138521052,内容基本一致,改动了部分错误 安装elasticsearch:7.17.21 拉取镜像:docker pull d…

论文 | Context-faithful Prompting for Large Language Models

主要内容: 这篇文章主要探讨了如何提高大型语言模型 (LLM) 在特定语境下的“忠诚度”,即模型是否能准确理解并提供与上下文相符的答案。文章关注了两个主要问题: 知识冲突: 当上下文中的事实与模型预训练数据中的事实不一致时&a…

树莓派应用--AI项目实战篇来啦-17.YOLOv8目标检测-安全帽检测

1. YOLOv8介绍 YOLOv8是Ultralytics公司2023年推出的Yolo系列目标检测算法,可以用于图像分类、物体检测和实例分割等任务。YOLOv8作为YOLO系列算法的最新成员,在损失函数、Anchor机制、样本分配策略等方面进行了全面优化和创新。这些改进不仅提高了模型的…

WebGl学习使用attribute变量绘制一个水平移动的点

在WebGL编程中,attribute变量是一种特殊类型的变量,用于从客户端传递数据到顶点着色器。这些数据通常包括顶点的位置、颜色、纹理坐标等,它们是与每个顶点直接相关的信息。attribute变量在顶点着色器中声明,并且对于每个顶点来说都…

数据结构-5.4.二叉树的性质

一.二叉树的常考性质: 常见考点1:结点个数的性质 设非空二叉树(度最大为2,最小为0)当中度为0的结点个数为a,度为1的结点个数为b,度为2的结点个数为c,那么abc: 推导过程:设该非空二叉树共有n个…

Go基础知识:切片

数组 Go 数组的大小是固定的,其长度是其类型的一部分([4]int并且[5]int是不同的、不兼容的类型) var a [10]intb : [2]string{"Penn", "Teller"} b : [...]string{"Penn", "Teller"}package maini…

计算机专业大一课程:线性代数探秘

计算机专业大一课程:线性代数探秘 对于计算机专业的大一新生来说,线性代数是一门基础且重要的课程。它不仅是数学的一个分支,更是计算机科学中不可或缺的工具。那么,线性代数究竟包含哪些内容,对我们的计算机学习有何…

操作系统(1) (进程属性/内存映像/进程状态/PCB/上下文切换)

目录 1. 进程及其实现 2. 没有进程概念之前的系统 3. 进程的属性 4. 进程的内存映像 5. 进程状态及其转换 6. 进程描述与操作控制结构 操作控制结构: 操作系统使用数据结构来记录进程和系统资源的状态: 进程控制块(PCB)&a…

libmodbus编程应用(超详细源码讲解)

目录 前言 libmodbus开发库 1.功能概要 2.源码获取 3.libmodbus与应用程序的关系 libmodbus源代码解析 1.核心函数 2.框架分析与数据结构 3.情景分析 (1)初始化 (2)主设备发送请求 (3)主/从设备…

【Adobe PR】Adobe Premiere Pro 快捷键介绍

Adobe Premiere Pro (简称PR) 是一款广泛使用的视频编辑软件,熟练掌握其快捷键可以显著提高编辑效率。下面是整理的一些常用的Adobe Premiere Pro快捷键,适用于Windows和Mac操作系统。对于Mac用户,除非特别指出,通常可以将Ctrl键替…

视频画面变糊是平台在做手脚吗?

人气视频博主“影视飓风”一条新发布的视频被全网下架,这两日更是引起轩然大波,不仅频上热门,甚至还有不少数码与视频同行为其抱不平。那么影视飓风到底发布了一条什么视频?又为何会惨被全网下架呢? 10月8日&#xff0…

Android Studio Ladybug使用经典主题UI

背景 Android Studio Ladybug | 2024.2.1 默认使用new ui,但是已经找不到之前经典主题了。 通过插件方式设置经典主题 打开设置。Plugins。 在Marketplace中搜索:Classic UI 下面的截图是我已经安装完成的。 插件安装完成了,重启as即可。…

闭着眼学机器学习——K近邻分类

引言: 在正文开始之前,首先给大家介绍一个不错的人工智能学习教程:https://www.captainbed.cn/bbs。其中包含了机器学习、深度学习、强化学习等系列教程,感兴趣的读者可以自行查阅。 1. 算法介绍 K近邻(K-Nearest Neighbors, KNN…

ScriptableObject基本使用

使用方法 自定义类继承ScriptableObject 可以在类内部增加数据或者数据类,一般用于配置 注意事项 给继承ScriptableObject的类增加CreateAssetMenu特性。 CreateAssetMenu一般默认三个参数 第一个参数是父目录 第二个参数是父目录的子选项 第三个参数是可以…

虚幻闪烁灯光材质

创建一个材质 材质域改成光照函数 , Time让材质动起来 参数B用来控制速度 , Sine 让灯光闪烁 , Frac 增加了闪烁细节 把材质放到灯光材质上 效果还是挺不错的! 可以用于一些恐怖游戏~

FileZilla的简单使用

FileZilla的下载与安装以及简单使用(有图解超简单)-CSDN博客 参考这篇文章。 我在Window下安装了客户端,在虚拟机下启动Ubuntu,启用了Ubuntu的FTP服务。 按照该文章的流程进行下去,成功的把客户端上的文件上传到了F…