RTX3090 与pytorch对应版本的安装问题汇总

2023-11-15

一、Linux查看CUDA版本以及cudnn版本号

1、查看CUDA版本
方法1: 查看文件

cat  /usr/local/cuda/version.txt

方法2: 命令

nvcc --version

2、查看cudnn版本

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

注意:如果系统本身没安装cuda和cudnn,无法进行查询;实际使用过程中,发现在创建虚拟环境后,安装特定cuda版本的pytorch时会自带cuda和cudnn,这点需要关注。

二、RTX3090 与pytorch版本对应关系

1、在RTX 3090 上判断,当前版本的的torch版本是否可以用,一般需要通过如下方式:

(1)python 进入python 环境, import torch 导入torch 安装包;
(2)测试 torch.cuda.is_available(),
(3)测试 torch.zeros(1).cuda()

才能说明当前版本的cuda 可以调用当前版本的pytorch
问题现象:

>>> torch.zeros(1).cuda()
/home/respecting/anaconda3/envs/torch1.8.1/lib/python3.7/site-packages/torch/cuda/__init__.py:104: UserWarning: 
NVIDIA GeForce RTX 3090 with CUDA capability sm_86 is not compatible with the current PyTorch installation.
The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_70.
If you want to use the NVIDIA GeForce RTX 3090 GPU with PyTorch, please check the instructions at https://pytorch.org/get-started/locally/

问题分析:
(1)表明当前的安装的pytorch 版本没有匹配上合适的cuda, 即当前pytorch 版本的 cuda 版本没有对应到自己主机上安装的cuda版本,
(2)pytorch 环境中安装的cuda 版本,需要满足以下两个条件:
1、当前pytorch版本的算力支持当前机器上显卡的算力;
2、pytorch 中的 cuda 版本不能高于当前机器上已经安装的 cuda版本;

解决问题:
知道了问题的原因之后, 我们便可以解决了:
1、RTX3090 至少需要cuda 11.1 版本,才能够驱动该设备, 故我们可以安装cuda11.1 以上版本
所以在想要安装的 pytorch 版本中,找到大于cuda11.1 <= pytorch-cuda --version <= 当前机器上安装的 cuda --version
在这里插入图片描述
可以发现:本机当前支持的最高cuda为11.1,因此,这里最好安装cuda11.1的pytorch

三、安装匹配版本的pytorch

torch地址:
https://download.pytorch.org/whl/cu111/torch/
torchvision地址:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud//pytorch/linux-64/
找到对应python版本的torch:
torch-1.10.2+cu111-cp37-cp37m-linux_x86_64.whl
找到对应版本的torchvision:
torchvision-0.11.1-py37_cu111.tar.bz2
分步安装torch和torchvision:
pip install torch-1.10.2+cu111-cp37-cp37m-linux_x86_64.whl
conda install torchvision-0.11.1-py37_cu111.tar.bz2
pip install numpy
pip install Pillow
验证:
Python 3.7.13 (default, Mar 29 2022, 02:18:16) 
[GCC 7.5.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> torch.zeros(1).cuda()
tensor([0.], device='cuda:0')
>>> 

出现这表示验证通过

四、查看PyTorch的版本及CUDA和cuDNN版本

检查PyTorch版本

torch.version # PyTorch version

torch.version.cuda # Corresponding CUDA version

torch.backends.cudnn.version() # Corresponding cuDNN version

torch.cuda.get_device_name(0) # GPU type
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RTX3090 与pytorch对应版本的安装问题汇总 的相关文章

随机推荐

  • 疫情期间沙雕文案

    1 希望如约而至的不至是春天 还有疫情过后平安的你 2 早知道半个月前是最后一次出门 就不应该喝一杯奶茶 3 刚刚有人约我出去过情人节 我果断拉黑删除了 非常时期骗我感情可以 但要我名不可以 4 烟花三月下扬州 愿我三月能下楼 5 疫情你走
  • postman进行post、get参数传递及中文乱码和各类型参数传递和json格式传参和日期型参数传递和响应数据传回

    postman是一种测试工具 用postman直接在其上输入参数名和参数值就行 不用区分post和get请求方法 当然java代码要改变一点 在响应注解的方法里面添加和postman中输入的参数名一样的形参 get请求 代码 注意在响应注解
  • Android 9 底部导航栏样式不正确

    1 项目预制了GMS后 底部导航栏只剩下一个返回键和唤醒Assistant的按钮 需要回到原来的导航栏来 修改方式屏蔽掉 config defaultAssistantAccessPackage 使用Android原始的config def
  • 原码、补码、反码的关系及应用场景

    是三种表示有符号整数的方法 它们之间存在一定的关系 概念 原码是最基本的表示方法 即将一个数的符号位和数值位分开表示 符号位用0表示正数 用1表示负数 例如 7的原码为00000111 7的原码为10000111 反码是在原码的基础上 将负
  • 局域网、城域网、广域网、国际互联网(internet)

    计算机网络按覆盖范围分类可分为局域网 城域网 广域网 一 局域网 1 地理分布范较小 一般为数百米至数公里 可覆盖一幢大楼 一所校园或一个企业 一个家庭 2 数据传输速率高 一般为100Mbps 目前已出现速率高达1000Mbps的局域网
  • vue3 element-plus el-form的二次封装

    form表单的二次封装 vue3 element plus el form的二次封装 属性说明 属性名 类型 默认值 说明 data Array 页面展示数据内容 onChange Function false 表单事件 bindProps
  • R语言的科学编程与仿真 chapter 4 答案

    chapter 4 Ex1 programe cha4 6 ex1 Ex1 https img blog csdn net 20151226125117523 12 25 15 author Sigua file path file age
  • java 加载oracle 驱动 19c_037、Java--JDBC技术

    1 JDBC 简介 JDBC Java DataBase Connectivity java 数据库连接 是 JavaEE 平台下的技术规范 定义了在 Java 语言中连接数据 执行 SQL 语句的标准 可以为多种关系数据库提供统一访问 数
  • https认证过程(TLS认证过程)

    最近在准备春招 刚好看到https 网上搜了一圈没看到满意的 于是打算自己整理一下 以下内容来源于 计算机网络 第8版 谢希仁 加上了一些自己的拙见 目前的HTTPS是使用http tls的 所以直接了解tls的认证过程即可 曾经广泛使用的
  • SAP接口 财务凭证集成_差旅费报销

    OA系统调用此接口 传输差旅费报销流程的凭证信息到SAP 生成借款类型SAP凭证 调用标准的BABI方法实现 1 首先先介绍一下实现会计凭证生成的BAPI 参考链接 2 增强操作在另一篇文章 SAP接口 财务凭证集成 借款 在此不再赘述 3
  • 最近研究xcodebuild批量打包的一些心得

    转自Rainbird的个人博客 以前的时候只知道做安卓开发的兄弟挺辛苦的 不但开发的时候要适配一堆的机型 好不容易开发完了还要打一堆不同的包给不同的市场 没想到现在这些市场都开辟iOS市场 于是需要打一堆的包给不同的市场 面对暂时给的十二个
  • +-1 RMQ

    考虑分块 令 b log 2 n
  • [SQL系列] 从头开始学PostgreSQL 分库分表

    什么是分库分表 分库分表是一种数据库架构设计的方法 用于应对大规模数据的存储和查询 当单个数据库的存储容量或查询性能无法满足需求时 可以通过将数据分散存储在多个数据库服务器上 以提高系统的可扩展性和性能 分库分表通常包括两个步骤 分库和分表
  • 【模板】AC自动机(加强版)【AC自动机fail树上求最多出现次数】

    题目链接 P3796 给出N个模式串 然后我们用一个文本串去进行匹配 这样的做法 就是AC自动机了 于是乎 我们可以先将N个模式串丢进去 然后建立fail树 然后先对所有的节点求出最大串在文本串中出现的次数 然后利用dfs跑fail树的办法
  • 工业数据存储数据库选型比较

    我们讲工业互联网 工业大数据 首先需要把数据从工业现场采集上来 这是第一步也是基础 海量的数据从工业现场采集之后存在哪里呢 使用什么样的存储方式对后面的数据分析和计算有重要影响 这里对数据库方式的存储进行了一个选型比较 当前的数据库按类型分
  • 线性滤波和卷积的概念 ,线性和非线性对比理解

    一 线性滤波与卷积的基本概念 线性滤波可以说是图像处理最基本的方法 它可以允许我们对图像进行处理 产生很多不同的效果 做法很简单 首先 我们有一个二维的滤波器矩阵 有个高大上的名字叫卷积核 和一个要处理的二维图像 然后 对于图像的每一个像素
  • python多个%s的使用方法 %格式符 使用

    直接看代码理解 usr bin python coding utf 8 a wry b zjl c xxx print a s b s c s a b c 输出 a wry b zjl c xxx 参考 格式符 格式符为真实值预留位置 并控
  • lua 中table的字符串索引和变量索引

    a x y a x 10 print a x 输出10 print a x 输出nil print a y 输出10 a x表示以字符串 x 来索引table a x 以变量x的值来索引table
  • 利用ChatGPT如何进行批量长文本处理工具GPTBAT

    大家好 我是技术宅小伙 今天要跟大家分享一下我之前写的 GPT 长文本处理程序 当时我写完后就把它放到 Hog 上了 因为最开始是为了自己用 所以后来就忘掉了 最近有同学把它翻出来用 然后经常来问我 说不知道这个东西怎么用 其实在我看来这个
  • RTX3090 与pytorch对应版本的安装问题汇总

    一 Linux查看CUDA版本以及cudnn版本号 1 查看CUDA版本 方法1 查看文件 cat usr local cuda version txt 方法2 命令 nvcc version 2 查看cudnn版本 cat usr loc