cuda突然不能用了的完美解决方法
作者:身高195的程序员
一、问题描述
之前配置过一个pytoch的虚拟环境,并且调用cuda也可用,但是在做项目的时候,想下载一些工具包,下载时出现了一些问题,上网解决时候告诉我利用conda update all更新conda即可,于是我更新了,至此之后我的cuda就不可用了,出现torch.cuda.is_available()返回False的问题
二、问题分析
之前我的虚拟环境中cudNN可用,但是cuda在pytorch调用不出来,大概率还是pytorch版本对应的问题,就是之前下载的pytorch版本是1.12.1对应cuda11.3,然后我更新了conda update all,这时我更新后的pytorch版本是1.13.0,官网上pytorch1.13.0对应的cuda版本是11.6和11.7,但是我的虚拟环境中的cuda还是11.3,没有更新,两个东西的版本不对应所以gpu调用不了。于是设想
解决方案一:重新在nvidia官网下载pytorch1.13.0对应cuda11.6或者11.7版本,还有cuda对应的cudNN,这样不仅麻烦而且费时费力。
解决方案二:重新配置新的虚拟环境简单便捷,省时高效,而且完美解决存在的问题。
三、解决方案
在没解决问题之前,也看了网上大佬的各种解决方案,然后看的云里雾里的,于是更换思路,决定直接新创建个虚拟环境,嘎嘎管用。具体操作流程:
(1)首先创建个新的虚拟环境(原来不能调用cuda的虚拟环境不用卸载,后面有用!)
conda create -n your_env_name(虚拟环境名称) python==xx(想要创建的虚拟环境的python版本号)
自己取个新的虚拟环境名字,然后python版本可以选择3.8或者3.9,这里我选择3.8版本的python
(2)然后创建即可
出现这几行代码则代表创建成功
(3)创建成功之后,输入以下指令,切换到新创建的虚拟环境
conda activate your_env_name(虚拟环境名称)
然后就会切换到新的虚拟环境,这时新的虚拟环境里是没有torch和cuda的,需要重新去pytorch官网中安装。
(4)这里建议选择cuda不可用之前的pytorch(cuda)版本(之前我安装的是pytroch1.12.1,cuda11.3所以选择安装和之前一样的,因为之前不能调用cuda的虚拟环境中还有这些安装包,不用重新下载,节省时间)
(5)安装之前记得添加国内镜像源,然后等待安装即可,最后在新的虚拟环境中测试cuda是否可用。(我原来的虚拟环境名称lxpytorch,现在新创建的名称lxpt2)
测试新创建的环境cuda可用!(在pycharm中测试也可以)
总结
到此这篇关于cuda突然不能用了的完美解决方法的文章就介绍到这了,更多相关cuda不能用了内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!