【AI基础】第二步:安装AI运行环境

开局一张图:

接下来按照从下往上的顺序来安装部署。 

规则1 注意每个层级的安装版本,上层的版本由下层版本决定

比如CUDA的版本,需要看显卡安装了什么版本的驱动,然后CUDA的版本不能高于这个驱动的版本。

这个比较好理解,CUDA、PyTorch都有向下兼容性。比如显卡支持版本12,你只要不超过版本12,那么显卡都能支持你去使用,所以CUDA的版本可以小于等于12。PyTorch同理。

一、安装CUDA

1.1 确定版本

根据 规则1,我们查看自己显卡支持的版本,然后来决定下载哪个版本的CUDA。

打开显卡控制面板:

查看安装的驱动:

可以看到安装的CUDA驱动版本为12.2.68,那我们安装的 CUDA Toolkit 版本需要小于等于此版本。 

1.2 下载安装

下载地址:CUDA Toolkit Downloads

老版本地址:CUDA Toolkit Archive 

进入页面后选择操作系统相关信息后,下载cuda的最新安装包: 

 也可以下载历史版本:

按照上面1.1版本确认,版本需要小于等于12.2.68,这里选择12.2.0

下载后双击安装,一路下一步后,到安装位置,可以看到默认安装在 c:\Program Files\NVIDIA GPU Computing Toolkit 路径下:

 

1.3 安装检验

在命令行运行 nvcc -V查看:

> nvcc -V

二、安装cuDNN

2.1 确认版本

根据 规则1,cuDNN的版本要适配CUDA的版本12.2.0。

2.2 下载安装

下载地址:cuDNN最新版下载

老版本下载地址:cuDNN Archive | NVIDIA Developer 

进入页面后选择操作系统相关信息后,下载cuDNN的最新安装包: 

也可以下载历史版本:

根据版本规则,我们需要选择上图中 for CUDA 12.x的版本。

解压后,把cuDNN的文件夹合并到CUDA的安装路径下的同名文件夹:

 

比如bin文件夹合并后如图:

红框内的为cuDNN的扩展文件。 

三、安装pyTorch

3.1 确认版本

根据 规则1,pyTorch支持的CUDA的版本需要小于等于12.2.0。

3.2 下载安装

获取命令地址:Start Locally | PyTorch

获取老版本命令地址:Previous PyTorch Versions | PyTorch 

如图选择CUDA 11.8,小于 CUDA Toolkit 12.2.0,是可以直接安装的。

获取到的安装命令:

> conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia 

也可以安装历史版本:

 

获取到的安装命令:

> conda install pytorch==2.2.2 torchvision==0.17.2 torchaudio==2.2.2 pytorch-cuda=12.1 -c pytorch -c nvidia

3.3 安装检验

进入python环境:

> python

导入pyTorch库及相关命令:

>>> import torch
>>> torch.cuda.is_available())       # 查看GPU是否可用        
>>> torch.cuda.device_count())       # 查看GPU数量 
>>> torch.version.cuda)              # torch方法查看CUDA版本
>>> torch.cuda.current_device())     # 查看GPU索引号
>>> torch.cuda.get_device_name(0))   # 根据索引号得到GPU名称

四、引用

深度学习—Python、Cuda、Cudnn、Torch环境配置搭建_torch cuda-CSDN博客

 

如何用conda安装PyTorch(windows、GPU)最全安装教程(cudatoolkit、python、PyTorch、Anaconda版本对应问题)(完美解决安装CPU而不是GPU的问题)-CSDN博客conda安装GPU版pytorch,结果却是cpu版本[找到问题根源,从容解决]_为什么conda安装pytorch版本不对-CSDN博客

 

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

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

相关文章

ES 生命周期管理

一 .概念 ILM定义了四个生命周期阶段:Hot:正在积极地更新和查询索引。Warm:不再更新索引,但仍在查询。cold:不再更新索引,很少查询。信息仍然需要可搜索,但是如果这些查询速度较慢也可以。Dele…

Java面试——中间件

OpenFeign 1、openFeign是一个HTTP客户端,它融合了springmvc的注解,使之可以用REST风格的映射来请求转发。 2、可以把openFegin理解为是controller层或是service层。可以取代springmvc控制层作为请求映射,亦或是作为service层处理逻辑&#…

C++ priority_queue简单源码剖析:priority_queue模拟实现

文章目录 1. priority_queue介绍2. priority_queue模拟实现3. 适配器与虚函数 大家好!本文会用C模拟一个基本的priority_queue类,帮助我们更好的理解priority_queue的内置函数的实现与规则。 1. priority_queue介绍 priority_queue被叫做优先队列&#…

ESP使用巴法云远程OTA(VScode + Platform io)

ESP使用巴法云远程OTA(Platform) 什么是OTA: OTA(Over-the-AirTechnology)即空中下载技术,是通过移动通信的空中接口实现对移动终端设备及SIM卡数据进行远程管理的技术。OTA升级是物联网(IOT&am…

【C++初阶学习】第十二弹——stack和queue的介绍和使用

C语言栈:数据结构——栈(C语言版)-CSDN博客 C语言队列:数据结构——队列(C语言版)-CSDN博客 前言: 在之前学习C语言的时候,我们已经学习过栈与队列,并学习过如何使用C语言来实现栈与队列&…

企业软件产品和服务 之 设计保证安全 七项承诺

1. 引言 公司如何保护自己免受数据泄露的影响?标准答案就是: “启用多因素身份验证”——MTA(Enable multifactor authentication)。 但是,目前很多公司仍然盲目地只使用密码作为唯一的身份来源。 网络安全的核心是…

深入了解 C 语言 Bug

目录 一、引言二、Bug的定义三、Bug的由来四、Bug的影响五、应对 Bug 的方法六、结论 一、引言 1、在 C 语言的编程世界中,Bug 是一个我们无法回避的话题。 2、Bug,简单来说,就是程序中存在的错误或缺陷。它可以表现为程序运行结果的异常、崩…

步进电机双闭环细分控制(matlab仿真)内含课设等参考文件

1.1 步进电机工作原理 步进电机是一种用电脉冲进行控制,将电脉冲信号转换成相位移的电机,其机械位移和转速分别与输入电机绕组的脉冲个数和脉冲频率成正比,每一个脉冲信号可使步进电机旋转一个固定的角度。脉冲的数量决定了旋转的总角度,脉…

英伟达开源新利器NV-Embed向量模型,基于双向注意力的LLM嵌入模型,MTEB 56项任务排名第一

前言 文本嵌入模型能够将文本信息转化为稠密的向量表示,并在信息检索、语义相似度计算、文本分类等众多自然语言处理任务中发挥着关键作用。近年来,基于解码器的大型语言模型 (LLM) 开始在通用文本嵌入任务中超越传统的 BERT 或 T5 嵌入模型&#xff0c…

企业打款验证API在Java、Python、PHP中的使用教程

随着企业银行账号数量的增加和银行间的连接方式不断丰富,企业在进行资金交易时需要确保所填写的收款方账户信息的准确性和合法性,以避免资金损失和风险。然而,由于银行数量众多、地域分布广泛,不同银行间的账户验证机制和信息交互…

网络编程(八)

网络编程(八) 数据库数据库的分类基于嵌入式的数据库什么是SQLite?为什么使用SQLite?sqlite3数据库的安装 sqlite3中的点命令.open 数据库文件名字.tables [数据库文件名].schema 表名.database.quit.head on.mode column SQLite数据库中的数据类型SQL…

【Linux】Linux环境基础开发工具_4

文章目录 四、Linux环境基础开发工具gcc和g动静态库的理解 make和MakefileLinux小程序---进度条 未完待续 四、Linux环境基础开发工具 gcc和g 动静态库的理解 动态库的优点:比较节省资源,不会出现太多重复代码。 动态库的缺点:对库的依赖性…

C语言 数组——数组的其他应用之筛法求素数

目录 数组的其他应用 求100以内的所有素数 筛法求100以内的所有素数 自顶向下、逐步求精设计算法 数组的其他应用 求100以内的所有素数 筛法求100以内的所有素数 自顶向下、逐步求精设计算法 step 1:设计总体算法  初始化数组a,使a[2]2, a[3]3,..…

算法 java 排序和查找

排序和查找 冒泡排序(稳定)选择排序(不稳定)插入排序(稳定)希尔排序(不稳定)归并排序(稳定)快速排序(不稳定)堆排序计数排序桶排序基数…

C++设计模式——Adapter适配器模式

一,适配器模式简介 适配器模式是一种结构型设计模式,用于将已有接口转换为调用者所期望的另一种接口。 适配器模式让特定的API接口可以适配多种场景。例如,现有一个名为"Reader()"的API接口只能解析txt格式的文件,给这…

【AR开发-开源框架】使用Sceneform-EQR快速开发AR应用,当前接入了AREngine、ORB-SLAM,可快速地适配不同的安卓设备

Sceneform-EQR Sceneform 概览 Sceneform是一个3D框架,具有基于物理的渲染器,针对移动设备进行了优化,使您可以轻松构建增强现实应用程序,而无需OpenGL。 借助 Sceneform,您可以轻松地在 AR 应用和非 AR 应用中渲染…

Caused by: java.rmi.server.ExportException: Port already in use: 1100;解决方案

Caused by: java.rmi.server.ExportException: Port already in use: 1100; 根据端口号找占用程序的进程号 netstat -ano|findstr 1100 最右边那个数字就是进程号 在任务管理器中 详细信息,点击pid即可按照进程号排序,找到相应的进程,判断…

盲盒小程序预售机制的设计与实施

随着盲盒市场的不断发展,预售机制逐渐成为商家吸引用户、提升销售额的重要手段。本文将探讨盲盒小程序预售机制的设计与实施,以帮助商家更好地满足用户需求并优化库存周转率。 一、预售机制设计原则 在设计预售机制时,商家需要遵循以下几个…

基于 vue-element-template 框架添加 tagsview

1. 需求 vue-element-template 是一个基础模板,默认没有 tagsview。所以要手动添加。 参考最全面的集成方案框架 vue-element-admin ,拷贝和修改相关文件到你的项目中。 2. 修改 复制如下文件或文件夹 \src\layout\components\TagsView\src\store\mo…

Docker基础篇之本地镜像发布到阿里云

文章目录 1. 本地镜像发布到阿里云的流程2. 阿里云开发平台3. 将自己的本地镜像推送到阿里云 1. 本地镜像发布到阿里云的流程 阿里云ECS Docker生态如下图所示: 2. 阿里云开发平台 在控制台找到容器和镜像服务: 然后创建一个个人实例: 下面…