解决cuda突然不能用了的方法[完美解决]
利用新创建的虚拟环境完美解决pytorch中cuda调用不出来的问题。目前解决torch.cuda.is_available()返回False的问题
一、问题描述
之前配置过一个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中测试也可以)
欢迎来到由智源人工智能研究院发起的Triton中文社区,这里是一个汇聚了AI开发者、数据科学家、机器学习爱好者以及业界专家的活力平台。我们致力于成为业内领先的Triton技术交流与应用分享的殿堂,为推动人工智能技术的普及与深化应用贡献力量。
更多推荐
所有评论(0)