linux在anaconda环境中配置GPU版本的cuda+cudnn+pytorch深度学习环境(简单可行!一次完成!)

一、安装前要知道的事情:

  • pytorch是基于CUDA的深度学习框架,因此,pytorch的版本必须依赖于cuda toolkit的版本
  • CUDA Toolkit可以理解成一个工具包,主要包含了CUDA-C和CUDA-C++编译器、一些科学库和实用程序库、CUDA和library API的代码示例、和一些CUDA开发工具。
  • cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。
  • CUDA是显卡厂商NVIDIA推出的运算平台。CUD是一种由NVIDIA推出的通用并行计算架构,是一种并行计算平台和编程模型,该架构使GPU能够解决复杂的计算问题。
因此配置环境的流程为:

查看CUDA版本(没有的话则需要安装cuda) --------> 选择与cuda相对应的cudatookit版本+cudnn版本 + pytorch版本

通过下面命令查看cuda版本:

nvidia-smi
如果提示nvidia-smi命令未找到,用下面命令安装驱动:
  • 在Ubuntu上安装NVIDIA驱动:
  • sudo apt update
    sudo apt install nvidia-driver
  • 在CentOS上安装NVIDIA驱动: 
  • sudo yum install nvidia-driver
安装完后配置环境变量

~/bashrc文件末尾添加以下行(请根据你的驱动版本和系统路径进行调整)

export PATH=$PATH:/usr/local/cuda/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64

保存文件并运行以下命令以使更改生效:

source ~/.bashrc

二、如何安装cuda(本人亲测成功)

在cuda官网中下载cuda

https://developer.nvidia.com/cuda-downloads/#

选择对应的cuda版本:cuda版本跟电脑显卡驱动版本号有关,建议显卡驱动版本高的安装高版本CUDA,具体如下:

1.首先在软件和更新里面看一下自己电脑显卡的驱动版本,可以看出本人的是545(这些驱动都可以用,显示有哪个版本,说明电脑将最低支持这个版本)

 然后选择自己能选择的cuda版本(比如nvidia-driver-545就可以选择cuda11.0~cuda12.3x之间的所有版本,因为电脑的显卡驱动545支持最新的cuda12.3x,cuda12.3x要求的驱动是大于525.60.13即可):

注意:cuda是向下兼容的,12.3的cuda可以用12.3以下的所有cuda。

这里选择完后,在终端上输入官网上的那串代码(根据选择的版本对应的代码,根据上面自己选择的cuda版本决定),下载cuda(大约3GB)。

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/3bf863cc.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ /"
sudo apt-get update
sudo apt-get -y install cuda

下载完成后,需要将cuda配置导入环境变量。

export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

添加完环境变量,记得source一下,命令如下:

source ~/.bashrc

然后输入nvidia-smi,即可看到cuda安装成功。(如果显示couldnot communicat with the NVDIA driver,则关机重启后,再输入nvidia-smi,即可看到cuda安装成功)

三、下面再安装GPU版本的pytorch

打开pytorch官网:Previous PyTorch Versions | PyTorch

这里,我们由于cuda是12.3版本,cuda向下兼容,故可以安装12.3版本及以下的所有版本对应的pytorch。这里,我们选择以cuda11.7安装pytorch(下面两种方式任选其一)。

  • conda方式安装:
# CUDA 11.7
conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.7 -c pytorch -c nvidia
  • pip方式安装:
# CUDA 11.7
pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2

安装完pytorch后,可以在conda环境下,在linux终端中输入python,然后在python命令行下输入
 

import torchtorch.cuda.is_available()

若返回true,则说明GPU版本的pytorch安装成功。

注意:完整的操作步骤可以参照下面第一个链接,其他链接为可能用到的链接:在conda虚拟环境中配置cuda+cudnn+pytorch深度学习环境(新手必看!简单可行!)_conda安装cudnn-CSDN博客

CUDA 添加环境变量_cuda添加环境变量-CSDN博客

CUDA Toolkit 11.7 Downloads | NVIDIA Developer

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

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

相关文章

postman查询数据库-Xmysql

步骤1:安装node.js 下载地址:Download | Node.js步骤2:安装Xmysql工具,命令行输入 npm install -g xmysql ,过程中会自动安装相关依赖;步骤3:连接数据库 xmysql -h ip -u 账号 -p 密码 -d 库名 如下表示连…

【Proteus仿真】【Arduino单片机】多功能数字时钟设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器,使用PCF8574、LCD1602液晶、DS1302温度传感器、DS1302时钟、按键、蜂鸣器等。 主要功能: 系统运行后,LCD1602显示当前日期…

C++知识点梳理:C++ templates

c模板包括&#xff1a;类模板、类&#xff08;非模板类和模板类&#xff09;方法模板、函数模板、别名模板、变量模板。 类模板模板参数列表说明&#xff1a; 1&#xff09;类模板定义 类名前&#xff0c;需模板参数列表声明&#xff0c;template<>行。 template后面的&l…

CUDA API学习

1. nvtxNameCudaStream 在 NVIDIA Tools Extension (NVTX) 中,nvtxNameCudaStream 函数用于为 CUDA 流(stream)设置一个用户定义的名称,以便在可视化工具中更好地理解 CUDA 流的作用。该函数允许你将一个可读的字符串关联到 CUDA 流,从而在可视化工具中标识和跟踪不同的流…

【数据结构初阶(3)】双向带头结点循环链表

文章目录 Ⅰ 概念及结构Ⅱ 基本操作实现1. 结点的定义2. 创建头节点3. 创建新结点4. 双向链表销毁5. 双向链表打印6. 双向链表尾插7. 双向链表尾删8. 双向链表头插9. 双向链表头删10. 双向链表查找11. 在指定 pos 位置前插入新结点12. 删除指定 pos 位置的结点 Ⅲ 十分钟手搓链…

CSS中常用的伪元素选择器

伪元素&#xff0c;表示页面中一些特殊的并不真实存在的元素&#xff08;元素的位置&#xff09; 1&#xff0c;::first-letter 表示第一个字母 2&#xff0c;::first-line 表示第一行 3&#xff0c;::selection 选中的内容 4&#xff0c;::before 元素的开始位置 5&#…

​vmware虚拟机ubuntu系统配置静态ip​

把虚拟机当成服务器&#xff0c;如果虚拟机的ip是一直变化的&#xff0c;每次远程连接需要都修改连接虚拟机的ip地址&#xff0c;这肯定是麻烦的。 一、设置一下本机的VMnet8的ip 配置路径&#xff1a;控制面板->所有控制面板项->网络和共享中心 二、首先设置NAT 选自…

数据结构【DS】树的性质

度为m的树 m叉树 至少有一个节点的度m 允许所有节点的度都<m 一定是非空树&#xff0c;至少有m1个节点 可以是空树 节点数 总度数 1m叉树&#xff1a; 高度为h的m叉树 节点数最少为&#xff1a;h具有n个结点的m叉树 最大高度&#xff1a;n度为m的树&#xff1a; 具有…

【营养学01】肾脏:脱发以及白头

发&#xff0c;即头发&#xff0c;又名血余。 发之营养来源于血&#xff0c;故称“发为血之余”。 但发的生机根源于肾。 因为肾藏精&#xff0c;精能化血&#xff0c;精血旺盛&#xff0c;则毛发壮而润泽&#xff0c;故又说肾“其华在发” 黑桑葚&#xff0c;黑枸杞&#xff0…

Postman的各种参数你都用对了吗?

大家好&#xff0c;我是G探险者。 Postman我们都不陌生&#xff0c;作为一个广泛使用的 HTTP 客户端&#xff0c;平时我们使用它来测试接口&#xff0c;无非就是把接口的url放进去&#xff0c;然后根据请求类型get或者post,在不同位置传一下参数&#xff0c;除了常见的 Params…

Redis(地理空间Geospatial和HyperLogLog)

Geospatial&#xff1a; Redis中的Geospatial提供了一种存储和处理地理空间数据的能力&#xff0c;这对于许多应用非常有用。以下是Redis中的Geospatial的一些作用&#xff1a; 1. 地理位置查询&#xff1a;可以存储地理位置的坐标信息&#xff0c;并且可以通过查询指定半径范…

抛美债买中债!人民币大涨645点,美联储投降,美元要撑不住了

正当各国央行纷纷权衡其外汇储备组合时&#xff0c;一则消息震动了金融市场&#xff1a;投资者正抛售美国国债&#xff0c;转而购买中国国债。此举不仅反映了市场对未来货币政策的预期&#xff0c;也昭示了全球经济力量平衡的微妙变化。 首先&#xff0c;我们不得不提的是人民…

第2关:图的深度优先遍历

任务要求参考答案评论2 任务描述相关知识编程要求测试说明 任务描述 本关任务&#xff1a;以邻接矩阵存储图&#xff0c;要求编写程序实现图的深度优先遍历。 相关知识 图的深度优先遍历类似于树的先序遍历, 是树的先序遍历的推广&#xff0c;其基本思想如下&#xff1a; …

DITTEL控制器维修SENSITRON6-2AE

DITTEL工控产品维修包括&#xff1a;德国DITTEL平衡测试仪维修,DITTEL模块&#xff0c;过程监控模块&#xff0c;DITTEL控制器&#xff0c;平衡头&#xff0c;机电平衡头&#xff0c;显示器&#xff0c;平衡系统等产品。 DITTEL过程控制模块维修 DM6000是一个过程控制模块&…

onnx模型转换opset版本和固定动态输入尺寸

背景&#xff1a;之前我想把onnx模型从opset12变成opset12&#xff0c;太慌乱就没找着&#xff0c;最近找到了官网上有示例的&#xff0c;大爱onnx官网&#xff0c;分享给有需求没找着的小伙伴们。 1. onnx模型转换opset版本 官网示例&#xff1a; import onnx from onnx im…

关于灰度发布的总结(一)

灰度发布是指在不影响生产环节可用性的前提下&#xff0c;将软件版本部署到生产灰度区&#xff08;小范围、小流量&#xff09;&#xff0c;对其进行持续一段时间的监控及验证&#xff0c;最后根据监控验证结果决定软件新版本是否正式发布的软件发布过程。 灰度发布可以进行以…

element表格第一个列变成最后一个处理方案

解决方案&#xff1a; 翻译过来就是这样子&#xff0c;说el-table不能嵌套el-table-column以外的元素

白盒子测试总结

白盒子测试&#xff0c;也称为结构测试、透明盒测试、逻辑驱动测试或基于代码的测试&#xff0c;是一种测试用例的设计方法。白盒测试需要全面了解被测试程序的内部逻辑结构&#xff0c;并对所有逻辑路径进行测试。其基本方法包括&#xff1a; 语句覆盖&#xff1a;设计若干个…

第3关:图的广度遍历

500 任务要求参考答案评论2 任务描述相关知识编程要求测试说明 任务描述 本关任务&#xff1a;以邻接表存储图&#xff0c;要求编写程序实现图的广度优先遍历。 相关知识 广度优先遍历类似于树的按层次遍历的过程。 假设从图中某顶点v出发&#xff0c;在访问了v之后依次访…

Foodpanda API连接的艺术:无代码开发如何集成营销系统和广告推广工具

连接Foodpanda和电商平台的无代码开发 Foodpanda不仅是一家提供快速外卖服务的国际品牌&#xff0c;而且其创新的技术解决方案还能帮助电商企业优化系统运营。通过无代码开发的方法&#xff0c;即使没有专业的API开发知识&#xff0c;商家也能实现高效的电商系统和客服系统连接…