Pytorch 安装与配置

news2024/11/25 16:33:33

Pytorch 安装与配置

NVIDIA系统管理界面查看

nvidia-smi 进入NVIDIA系统管理界面

在这里插入图片描述

对应的详细解释看下图

nvidia-smi输出介绍

参考博文

  • (53条消息) nvidia-smi命令详解和一些高阶技巧介绍_Chaos_Wang_的博客-CSDN博客

CUDA 查看

CUDA 有两类:其中一类是驱动API(Driver API),另一种是运行时API(Runtime API)。

驱动API查看方式

  • 方式一

    使用 nvidia-smi命令,系统管理界面的右上角就是对应的驱动API版本。

  • 方式二

    进入 NVIDIA > 系统信息,结果如下图

    在这里插入图片描述

运行API查看方式

​ 需要说明的是,只有安装过运行API才能通过命令行的形式查看。

nvcc -V

查询结果如下图

在这里插入图片描述

尤为注意的问题

需要说明的是尽管驱动API和运行API版本不一致也不会影响使用。runtime(运行时) API和driver API,这两个API都有对应的CUDA版本。用于支持runtime API的必要文件(如libcudart.so以及nvcc)是由CUDA Toolkit installer安装的。(CUDA Toolkit Installer有时可能会集成了GPU driver Installer)。nvcc是与CUDA Toolkit一起安装的CUDA compiler-driver tool,它只知道它自身构建时的CUDA runtime版本。它不知道安装了什么版本的GPU driver,甚至不知道是否安装了GPU driver。

综上,如果driver API和runtime API的CUDA版本不一致可能是因为你使用的是单独的GPU driver installer,而不是CUDA Toolkit installer里的GPU driver installer。

runtime和driver API区别
runtime和driver API在很多情况非常相似,也就是说用起来的效果是等价的,但是你不能混合使用这两个API,因为二者是互斥的。也就是说在开发过程中,你只能选择其中一种API。简单理解二者的区别就是:runtime是更高级的封装,开发人员用起来更方便,而driver API更接近底层,速度可能会更快。

两种API存在默认匹配

NVIDIA显卡驱动和CUDA Toolkit本身是不具有捆绑关系的,为什么在安装后进行查询总会出现意料之外的结果,原因就是离线安装的CUDA Toolkit会默认携带与之匹配的最新的驱动程序。

CUDNN是个啥

cudnn是一个为深度学习计算设计的软件库,提供对应的计算函数,如卷积等,还有很多其他的软件库和中间件,包括实现c++ STL的thrust、实现快速傅里叶变换的cuFFT、实现gpu版本blas的cublas、实现稀疏矩阵运算操作的cuSparse、实现深度学习网络加速的cuDNN等等。

下载链接

  • CUDA 运行APP

​ CUDA Toolkit 11.6 Downloads | NVIDIA Developer

  • CUDA 驱动APP

    ​ Official Drivers | NVIDIA

  • CUDNN APP

​ cuDNN Archive | NVIDIA Developer

Pytorch —whl安装

步骤总览

整体步骤如下:

  • 步骤一:

    进入离线下载torch whl 的官网 download.pytorch.org/whl/torch_stable.html

  • 步骤二:

    选择对应的 torchvision、torchaudio、torch,安装到指定的路径,记住此路径记为path1

  • 步骤三:

    使用Ancaconda Prompt 切换到为安装torch准备的环境,并切换到path1所在的路径

  • 步骤四:

    使用以下pip命令进行安装

    pip install “torch包名.whl” “torchvision包名.whl” “torchaudio包名.whl”

以上完成了torch的安装步骤,但是!!!还需要检查torch是否安装成功,步骤如下:

  • 步骤一:

    Anaconda Prompt 切换至torch所在的环境

  • 步骤二:

    执行下列代码:

    import torch # 如果pytorch安装成功即可导入
    print(torch.cuda.is_available()) # 查看CUDA是否可用
    print(torch.cuda.device_count()) # 查看可用的CUDA数量
    print(torch.version.cuda) # 查看CUDA的版本号
            
    

至此,完成pytorch的安装,开始你的深度学习之旅!!!

whl包下载

  • 方式一

​ 可以通过官方网站PyTorch推荐的Pytorch包进行安装,如下图。

在这里插入图片描述

​ 然后,直接使用 Run this Command 的命令直接进行安装,此种对于国内用户极其不友好,建议直接按照方式二进行安装!!!

  • 方式二

​ 当然,也可以根据之前的CUDA版本进入到whl的网站,进行离线下载再使用pip去安装。进入到whl的网站是这样子的(如下),因为为我的CUDA的驱动和运行版本均是11.6,所以进入网站后根据关键字11.6torch去搜索对应的包。

使用 Ctrl + F 打开搜索条目,输入关键字即可实现当前网页内的搜索。

在这里插入图片描述

1-4 的含义如下

1:当你下载的GPU版本的torch时,此时为cu开头其后的数字为cuda对应的版本号。因为我是cuda为11.6所以此处就是11.6,如果你下载的是CPU版本的torch,开头则为cpu。

2:此处的代表的是torch和对应的版本号,尽量不要选择太高版本吧。%后面的2B代表是Beata版即测试版,绝对够用直接冲!!!

3:cp代表的是python,其后的数字代表对应环境中的python版本号,python版本查看方式如下:

在这里插入图片描述

上述,标红处就是对应的python版本。

4:此时就代表你的操系统了,win_amd64 对应window,linux_x86_64对应linux。

参考博文

(53条消息) Pytorch 离线安装教程( Win10 )_pytorch离线安装_E-CorE的博客-CSDN博客

(53条消息) 安装pytorch时,文件名称的识别_Leon_BUAA的博客-CSDN博客

(53条消息) 软件版本 —— Alpha、Beta、RC版本的区别_beta版本是什么意思_waynelu92的博客-CSDN博客

(53条消息) nvcc -V和nvidia-smi出现的cuda版本不同_Chauncey_Wang的博客-CSDN博客

log.csdn.net/waynelu92/article/details/73604172)

(53条消息) nvcc -V和nvidia-smi出现的cuda版本不同_Chauncey_Wang的博客-CSDN博客

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

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

相关文章

「深度学习之优化算法」(十二)水波算法

1. 水波算法简介 (以下描述,均不是学术用语,仅供大家快乐的阅读)   水波算法(Water wave optimization)是根据水波理论提出的优化算法。什么是水波理论?简单来说就是水波的宽度越小,其频率越高,频率与水波宽度的平方根成反比(具体细节我也不懂,物理方面的)。水波…

换零钱II:Python代码解Java题目

银行现存零钱面值种类动态变化但数量无限,类方法change()完成指定金额的最少零钱个数兑换。 (本笔记适合学透python基本数据结构,熟悉class的基构造,对类内全局变量有一定认的 coder 翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1…

Mysql——》慢查询日志

推荐链接: 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD…

TCR中的缓存和共享属性与PTE中的缓存和共享属性的区别是啥?

那么就请继续思考: Translation Table Walk访问页表的缓存策略,这里的页表到底是缓存到cache中,还是缓存到PTW中呢?

使用腾讯云轻量应用服务器搭建网站教程

腾讯云轻量应用服务器怎么搭建网站?太简单了,轻量服务器选择宝塔Linux镜像,然后在宝塔面板上添加站点,以WordPress建站为例,腾讯云服务器网来详细说下腾讯云轻量应用服务器搭建网站全流程,包括轻量服务器配…

【Elasticsearch】ES精确查询和范围查询,ES时间字段排序实例,ES倒排索引介绍

本文ES版本是7.X以上,之前的版本语法可能会有些差异,请注意这些比较重要的细节。问海量数据搜索时为什么ES会比较快? 精确查询 termQuery BoolQueryBuilder boolQuery QueryBuilders.boolQuery();boolQuery.must(QueryBuilders.termQuery(…

ORB-SLAM2学习笔记2之TUM开源数据运行ORB-SLAM2生成轨迹并用evo工具评估轨迹

文章目录 0 引言1 evo工具1.1 简介1.2 常用命令1.3 安装 2 TUM数据3 单目ORB-SLAM23.1 运行ORB-SLAM23.2 evo评估轨迹3.2.1 载入和对比轨迹3.2.2 计算绝对位姿误差 4 RGB-D ORB-SLAM24.1 运行ORB-SLAM24.2 evo评估轨迹4.2.1 载入和对比轨迹4.2.2 计算绝对轨迹误差 ORB-SLAM2学习…

软件工程——第12章面向对象实现知识点整理

本专栏是博主个人笔记,主要目的是利用碎片化的时间来记忆软工知识点,特此声明! 文章目录 1. 面向对象语言技术的特点? 2.选择面向对象程序设计语言时主要应该考虑哪些因素? 3.面向对象设计结果只能用面向对象语言实…

第三方ipad电容笔哪个品牌好用?平板电容笔推荐

可能很多人都认为,苹果原装的电容笔,是不可取代,但我认为,这还要看个人的预算,以及实际的需求。苹果Pencil对于那些不太讲究画质的用户来说实在是太贵了,要是我们仅用于书写上,其实我们可以用平…

尚硅谷Docker实战教程-笔记13【高级篇,Docker轻量级可视化工具Portainer】

尚硅谷大数据技术-教程-学习路线-笔记汇总表【课程资料下载】视频地址:尚硅谷Docker实战教程(docker教程天花板)_哔哩哔哩_bilibili 尚硅谷Docker实战教程-笔记01【基础篇,Docker理念简介、官网介绍、平台入门图解、平台架构图解】…

Python 自学 day01 变量,变量命名规则,一些语法

1. Python 的变量的知识 1.1 Python 编程命令的读取时从上到下的。 1.2 Python 变量的命名规则: 1.2.1变量名只能包含字母、数字和下划线。变量名能以字母或下划线打头,但不能以数字打 头。例如,可将变量命名为message…

BATJ 面试 Java 岗:精选 1200+ 面试题及答案

Z 认为,对于 Java 面试以及进阶的最佳学习方法莫过于刷题博客书籍总结,前三者 LZ 将淋漓尽致地挥毫于这篇文章中,至于总结在于个人,实际上越到后面你会发现面试并不难,其次就是在刷题的过程中有没有去思考,…

网络安全(黑客技术)自学路线笔记

一、什么是黑客? 黑客泛指IT技术主攻渗透窃取攻击技术的电脑高手,现阶段黑客所需要掌握的远远不止这些。 二、为什么要学习黑客技术? 其实,网络信息空间安全已经成为海陆空之外的第四大战场,除了国与国之间的博弈&am…

stm32 mpu6050 cubemx 卡尔曼滤波法读取角度

文章目录 前言一、cubemx配置二、mpu6050文件移植mpu6050.cmpu6050.h 三、主函数 前言 本文简述使用mpu6050读取原始数据后解算出角度。 网上大多都是dmp库来解算,但是这种情况操作起来相对复杂。 更方便的方法是使用卡尔曼滤波法来解算出角度,好处是代…

2023网络安全常见面试题汇总(附答案解析+配套资料)

以下为网络安全各个方向涉及的面试题,星数越多代表问题出现的几率越大,祝各位都能找到满意的工作。 注:所有的资料都整理成了PDF,面试题和答案将会持续更新,因为无论如何也不可能覆盖所有的面试题。 目录 一、渗透测试…

ELK 企业级日志分析系统(三)

ELK 一、Zookeeper理论部分zookeeper的定义与工作机制zookeeper的特点Zookeeper 数据结构Zookeeper 应用场景Zookeeper 选举机制 二、zookeeper部署实验三、Kafka消息队列为什么需要消息队列(MQ)使用消息队列的好处消息队列的两种模式 Kafka 定义Kafka 简…

layui树形菜单的实现

前言 继续上一篇博客的内容,在原来代码的基础上实现树形菜单功能 一. 树形菜单是什么? 在layui中,树形菜单是通过 Tree 组件实现的。Tree 组件提供了一种树形结构展示数据的方式,常用于显示层级结构的菜单、目录等。开发者可以…

虚拟机中安装RabbitMQ及使用(超详细)

目录 1. 安装Socat 2. 安装Erlang 3. 安装RabbitMQ 4. 开启管理界面及配置 5. 启动 6. 配置虚拟主机及用户 6.1. 用户角色 6.2. Virtual Hosts配置 6.2.1. 创建Virtual Hosts 6.2.2. 设置Virtual Hosts权限 1. 安装Socat 在线安装依赖环境: yum install g…

数据结构【二叉树】

数据结构之二叉树 二叉树的定义二叉树的5种基本形态二叉树的抽象类型定义二叉树的特殊类型二叉树的性质二叉树的存储结构1、顺序存储2、链式存储 遍历二叉树前序遍历中序遍历后序遍历遍历算法的分析 线索二叉树 二叉树的定义 在数据结构中,二叉树是n(n&…

uniapp 封装公共方法(无需每个页面引用,直接调用)

封装方法: 1. 在根目录下建立common文件夹 创建com.js 2.在main.js中挂载(写在定义vue之后) import $com from /common/com.js Vue.prototype.$com $com 3.在com.js中按照以下格式定义方法 export default {//定义需要的方法 } 4.使用 click"$com.已经定义的方法名&q…