Pytorch调用GPU时显示CUDA版本过低的解决方案

news2024/12/26 11:33:20

在调用torch.cuda.is_available时,有如下报错:

cuda initialization: The Nvidia driver on your system is too old.

事情的发展是这样的:

1. 服务器的CUDA版本是10.1,仅支持pytorch版本最高1.7;前几天跑项目需要用到比较新的框架,pytorch版本需要在1.9以上。由于我之前安装CUDA环境时曾遭受过重创,故不想动CUDA的版本。此为背景。

2. 由于不想动CUDA版本又需要安装pytorch1.9,我想尝试一下在CUDA=10.1的情况下安装pytorch=1.9会发生什么。遂使用conda create一个带有python3.7的新环境,并在这个环境下直接使用

pip install torch==1.9

安装指定版本的torch。安装完毕后毫无意外的显示CUDA版本过低。

 3. 本以为事情已经告一段落了,结果接下来的发生的情形让我整个人抓狂。

-- torch无法使用

【卸载1.9版torch后重新安装1.7torch,依旧显示上图CUDA报错的情况】

-- annaconda环境全部崩溃

【其他环境全部发生了改变,上述操作全部是在新环境1内进行的,结果activate老环境1老环境2老环境3,发现里面的pytorch和python版本全部和新环境1一样】

【对任意一个环境(包括再次新建环境)进行pip install,其他所有环境全部随之改变???这种在网上完全找不到类似的情况】

现在可好了,安装过一遍torch1.9,就算之后再回到1.7,整个服务器所有的环境都没有办法使用torch.cuda了,包括之前在1.7能正常运行的代码。。。

4. 痛定思痛,在勉强控制好一度要摔电脑的心情下,开始百度如何解决"The Nvidia driver on your system is too old."的问题【前提是不升级CUDA,之前升级CUDA整个服务器完全崩溃的过去还历历在目,现在只是pytorch的cuda不能访问了,至少还能随意的pip install】,尝试过无限多的无用功(此处省略N万字+N小时)。终于找到了出现问题的(部分)原因及解决方案:

-- 删除torch=1.9再安装torch=1.7后无法访问cuda的原因:

在安装过高版本torch后,之后安装torch时默认的cuda版本都与该版本对齐。也就是说,1.9的torch搭配cuda=10.2,之后再次安装的torch==1.7和1.5都默认搭配cuda=10.2,导致出现上述问题。

-- 解决方案:

在pytorch官网下载对应cuda版本的安装包进行安装,而不要再用pip进行安装了。具体安装命令如下:

pip3 install torch==1.7 torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu101

这样下载下来的就是CUDA=10.1对应的1.7版pytroch了。

-- 尚未解决:

conda环境崩溃,一个环境变其他所有环境变,目前还不知道怎么解决。

总结:

每个已解决的Error背后不知道有多少的血和泪。。。这个BUG让我付出了近一天的时间(当然也怪自己经验太少),并获得了一个完全崩溃的conda环境。

如果你看到这里,请一定要记住,只要代码能运行

不要乱动环境!

不要乱动环境!

不要乱动环境!

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

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

相关文章

Oracle 中常用的字符串函数总结

一、substr 函数 —— 字符串截取 格式1: substr(string,start_pos,length) 格式2: substr(string,start_pos) 说明: 从指定位置start_pos截取字符串string的length位,如果不指定length(格式2)则从指…

【数据挖掘】2022数据挖掘之Pandas库相关使用

数据挖掘之Pandas库相关使用一、概念1、介绍2、Pandas的优点3、软件推荐(Jupyter Notebook)4、软件下载网址以及参考文档二、基础知识1、DataFrame属性和方法1.1 结构(1)行索引(2)列索引1.2 常用属性&#…

配置非法AP设备检测和反制

1、业务需求 某企业分支机构为了保证工作人员可以随时随地访问公司网络资源,部署WLAN基本业务实现移动办公。且在覆盖区域内移动发生漫游时,不影响用户的业务使用。 分支机构位于开放式场所,容易受到网络入侵,例如攻击者在WLAN网络…

摒弃“短板”——数据中心基础设施运维管理建议书

数据中心是数字基础设施的重要组成部分,同时也是一整套复杂的设施。它不仅仅包括计算机系统和其它与之配套的设备(例如通信和存储系统),还包含冗余的数据通信连接、环境控制系统、监控系统以及各种安全系统。运维管理又是数据中心…

基于智能优化算法实现自动泊车的路径动态规划(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 作为一种方便、快捷的交通工具,汽车已成为人们生活和工作的重要组成部分。随着汽车数量的逐年增加,有限…

在ubuntu上用QT写一个简单的C++小游戏(附源码)

最近老师让用Qt写一个可视化界面,然后就给了一个小视频,好奇的不得了,就照着做了一下 视频链接如下:C案例教学–一个类游戏小程序的设计与实现全过程–用到QT-简单的STL容器 创建项目 1、打开QT 如果不知道怎么下载的话&#xff…

【牛客网刷题】VL8-VL10 generate for语句、比较数大小、function的使用

👉 写在前面 👉 本系列博客记录牛客网刷题记录 👉 日拱一卒,功不唐捐! 目录 VL8 使用generate for语句简化代码 题目描述 输入描述 输出描述 RTL 设计 testbench 设计 仿真测试 VL9 使用子模块实现三输入数的大…

【C++ 程序设计入门基础】- Chapter One

目录 一、什么是 C? 1、概念 2、标准库 二、第一个 C 程序 1、下载 C 开发工具 2、开始下载好之后,我们先设置一下编码,解决中文注释不显示的问题。 3、下面我们就可以新建一个源代码 4、 编写完成后,我们就可以运行查看结果…

MyBatis:缓存机制详解

本篇内容包括:MyBatis 缓存机制概述、一级缓存与二级缓存的介绍、配置和具体流程。 一、MyBatis 缓存机制概述 在我们常见的 OLTP(on-line transaction processing,联机事务处理)类型的 Web 应用中,性能的瓶颈往往来源…

【Transformer 相关理论深入理解】注意力机制、自注意力机制、多头注意力机制、位置编码

目录前言一、注意力机制:Attention二、自注意力机制:Self-Attention三、多头注意力机制:Multi-Head Self-Attention四、位置编码:Positional EncodingReference前言 最近在学DETR,看源码的时候,发现自己对…

【码上掘金编程挑战赛】- 前端可冲【简历加分项】

【码上掘金编程挑战赛】1.比赛报名2. 比赛介绍赛题一:码上游戏赛题二:码上创意赛题三:码上文言文赛题四:码上10243.报名4.提交作品1.比赛报名 比赛报名链接 https://juejin.cn/challenge/1?utm_source3169 2. 比赛介绍 赛题一…

Spring5入门到实战------14、完全注解开发形式 ----JdbcTemplate操作数据库(增删改查、批量增删改)。具体代码+讲解 【终结篇】

Spring5入门到实战------12、使用JdbcTemplate操作数据库(增删改查)。具体代码讲解 【上篇】 Spring5入门到实战------13、使用JdbcTemplate操作数据库(批量增删改)。具体代码讲解 【下篇】 以上两篇采用的是注解开发形式xml配置…

自己动手写操作系统系列第3篇,实现时钟和键盘中断

对应labOS版本1.3 程序源码可以私聊我 picirq.h int 0x20~0x2f接收中断信号IRQ0~15,因为int 0x00~0x1f不能用于IRQ。 picirq.c pic0_mask0xfb即1111 1011;PIC1以外全部禁止。pic1_mask0xff即1111 1111;禁止所有中断 pic_enable函数就是将…

【Linux下安装jdk】Linux下安装jdk

Linux下安装jdk 1、-RPM安装 1.1、检查系统是否安装过jdk java -version 检查是否有安装包 rpm -qa | grep java 1.2、安装jdk 查看服务器版本: uname -a 下载jdk对应rpm包: https://www.oracle.com/java/technologies/downloads/#java8 上传安装包至任意目录下&…

用户登录权限校验 JWT【详解】

JWT (json web token)是当前最流行的用户登录权限校验(用户认证鉴权)方案。 官网 https://jwt.io/ JWT 的工作流程 客户端填写账号密码访问登录接口 login,将账号密码传给服务端服务端验证账号密码是否正确&#xff0c…

职言 | 校招面试有感,一个面试官的几点建议

职言: 最近一直在校招,我(作者)和同事说等这段时间结束,我不想再参与面试了,快面吐了。从校招开始,我团队前前后后陆续进了500多封学生简历,我经常一整天排满了面试,聊到…

【电子通识】芯片资料(数据手册/规格书)查询常用网站和方法

目录 1.AlldataSheet 网站(建议使用) 2.ICpdf 网站 3.CIC中国IC网 网站 4.datasheet(不建议使用) 5.半导小芯 (建议使用) 6.立创商城 (建议使用) 在做硬件的芯片选型、产品维修…

生物信息学笔记02 -- 研究的一般方法

生物信息学概述 以基因组DNA序列信息为源头,识别基因组序列中代表蛋白质和RNA基因的编码区,阐明非编码区的信息特征,破译隐藏在DNA序列中的遗传语言规律 生物信息学研究的内容与方法 研究主要内容 ⚫ 生物学数据的收集、存储、管理与提供 …

C++:继承

文章目录前言一、继承的概念及定义1.继承的概念2.继承的定义二、基类和派生类对象赋值转换三、继承中的作用域四、派生类的默认成员函数五、继承与友元六、继承与静态成员总结前言 本文介绍C中的继承。 一、继承的概念及定义 1.继承的概念 继承机制是面向对象程序设计使代码可…

厨电智能化趋势下,究竟什么才是真正的“用户思维”?

文|智能相对论 作者|佘凯文 近期2022年前三季度的各项经济数据在陆续发布,大环境依然承压,各个行业都在负重前行。 厨电行业在房地产下滑、疫情反复等因素影响下,前三季度同样一直承受着不小的压力,AVC数据显示,202…