(已解决)pytorch、cuda安装无误但是 torch.cuda.is_available()一直返回false

这两天安装完pytorch之后调用 torch.cuda.is_available()一直返回false,看到大部分博主都提出了重新安装或更新cuda版本的方法。然而我在跟着操作之后问题并没有解决(此时我cuda和pytorch的安装都正常),而且在操作过程中一度出现了重装pytorch后连 import torch都失败的情况。下面是我解决问题的流程和总结的可能原因。

1、模组typing_extensions的版本过低不兼容

当我重装pytorch后在pycharm里调用 torch.cuda.is_available()返回了一个

conda-script.py: error: unrecognized arguments: --no-capture-output

的报错,查阅资料未发现相同情况的报错,无果,因此在shell终端中用python逐条输入 import torch和torch.cuda.is_available()看看详细问题,然而输入import torch后就出来了一个

No module named 'typing_extensions'

的报错。于是上网查报错原因,发现需要涉及到相关源代码的修改,此时感觉有点不对劲,我不过是安装一个库怎么要这么麻烦,遂直接uninstall这个typing_extensions再重新install,之后发现问题所在了。

原来我之前用conda list调出来发现我的typing_extensions版本为4.4,重装之后现在的版本是4.9,莫非是不兼容的原因?总之这个问题解决了,运行一下看看。

2、新创建的虚拟环境中缺少最新版本的numpy和pandas

上一个问题解决之后继续运行import torch,这时候又有新的报错了:

module 'numpy' has no attribute 'ndarray'

我一看这我熟啊,numpy和pandas版本不匹配导致的错误,我再一看我虚拟环境的conda list里居然只有numpy没有pandas一下就恍然大悟了,遂重装numpy与pandas,再运行代码,返回true。

3、pycharm内解释器使用错误与多余重复安装包

在shell终端成功了,于是我重新建了一个项目,运行代码后却仍然返回false,仔细一看,原来是因为我新建的pycharm项目用的解释器不是我虚拟环境目录中的python.exe,调整过后成功返回true(顺便吐槽一句,网上大部分的pycharm教学用的都是旧版本的pycharm,新版调整后很多ui都不一样,新版使用时有的时候都找不到旧版的按钮)

需要注意的是,在pycharm内部仍然可以在解释器界面安装pytorch和torch,看个人用途选择安装方式吧。

  • 21
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值