pytorch已安装但未激活

因为不想用pycharm,所以找了在spyder上安装pytorch的教程。Anaconda虚拟环境安装PyTorch并使用Spyder
但是命令行检测安装是否成功时提示false

img

gpt提示说已经安装成功,但是显卡不适配cuda,正常调用没问题,只是无法用GPU进行加速,然后我去看了一眼我显卡信息

img

发现显卡最高支持CUDA12.2,驱动也是最新的。我想着可能是python版本新了,cuda和cudnn还没更新过所以跟python冲突了,于是去重装了cuda和cudnn。现在是python3.10.9,cuda11.8,cudnn8.7.0,pytorch2.0.1,但是依然显示未激活

img

  1. 这个是官网的安装命令,首先确定下你安装的torch版本是否为GPU的版本,这个是不可以混掉的。这点可以通过输入pip list 查看下你的torch后面是否带有cuxxx的字样,如果pip list找不到torch,多试几次(有时候抽风会不打印)

    img


    img

  2. 你已经安装了conda了,可以多建虚拟环境来切换python和pytorch之类的版本,并不需要重新安装,另外你的python显示的是3.10.11而非你说的3.10.9,所以你说的更新到底是更新到哪里去了?另外你用什么命令去更新?conda我的建议是新建虚拟环境,在新的环境中折腾,而不是将原来的python版本改掉,因为这会导致有些依赖包没有一起更新,就有可能出现莫名其妙的bug。

  3. cmd中输入nvcc -V结果回车是什么?

看起来你已经安装了PyTorch,但是在尝试使用GPU加速时遇到了问题。这可能是由于PyTorch版本和CUDA版本之间的不兼容性导致的。PyTorch 2.0.1可能不支持CUDA 11.8。你可以尝试以下几种解决方案:

  1. 降级PyTorch版本:你可以尝试安装一个旧一点的PyTorch版本,这个版本可能会支持CUDA 11.8。你可以在PyTorch的官方网站上查看不同版本的PyTorch支持的CUDA版本。

  2. 升级CUDA版本:你也可以尝试升级你的CUDA版本到一个被PyTorch 2.0.1支持的版本。但是这可能需要你的显卡支持新的CUDA版本。

  3. 使用CPU版本的PyTorch:如果你不需要使用GPU加速,你可以选择安装CPU版本的PyTorch。这个版本的PyTorch不需要CUDA,所以你不会遇到这个问题。

在尝试这些解决方案之前,你可以先确认一下你的PyTorch是否真的没有被激活。你可以在Python环境中运行以下代码来检查:

import torch
print(torch.__version__)
print(torch.cuda.is_available())

这段代码会打印出你的PyTorch版本,以及是否可以使用CUDA。如果torch.cuda.is_available()返回True,那么你的PyTorch应该是可以使用CUDA的。

  • 看下这篇博客,也许你就懂了,链接:【win10 cuda pytorch】从无到有配置gpu运算pytorch的极度详细完整方法教程(包括各种坑),网上其他方法基本可行性不高
  • 除此之外, 这篇博客: pytorch gpu版本的最全安装教程,含环境配置、CUDA(百度云下载)安装程序失败解决方案中的 下载pytorch 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • torch和torchvision版本兼容对照表
    在这里插入图片描述

    下载好驱动,确定自己使用的CUDA版本之后可以下pytorch了。

    首先创一个新的环境,可命名为pytorch_gpu方便辨识,具体步骤可参考我那篇cpu版本pytorch安装教程里的操作,然后激活环境。

    接着转到pytorch官网下载gpu版的pytorch,如下图选择:
    【注】10.1是我用的CUDA版本(我的驱动能匹配11.2以下的CUDA),也可以选其他合适的。
    在这里插入图片描述
    按照cpu版的那个教程设置好清华源之后,可以不用官方给出的指令安装(实际上就是去掉后面官方给的镜像源-c pytorch),如下(因为我不需要torchaudio这个包,所以我把它也去了):conda install pytorch torchvision cudatoolkit=10.1这行命令会默认下载最新的包,当然你也可以自己指定某些包版本,如:conda install pytorch==1.6.0 torchvision cudatoolkit=10.1,其他包会自动匹配合适的版本。

    但是要注意指定的包之间要匹配,如不清楚可参考conda下载各种包时如何避免版本不匹配问题

    以上命令会用清华镜像源飞速安装…

  • 以下回答由chatgpt基于相关博客总结生成:

    根据您的描述和操作系统,您可能在Windows系统下运行Spyder。您已安装了PyTorch,但是命令行检测安装是否成功时提示false,并且您的显卡最高支持CUDA12.2,但是您现在安装了cuda11.8和cudnn8.7.0。您目前使用的是python3.10.9和pytorch2.0.1,但依然显示未激活,现在需要重新安装和激活PyTorch。

    下面是具体的解决方案:

    1. 重新安装PyTorch 首先,去官网查看支持的版本和下载地址,根据您的显卡和cuda版本选择对应版本的pytorch和torchvision。下载后,在命令行使用conda安装,例如: conda install pytorch==1.10.0 torchvision==0.11.0 torchaudio==0.10.0 cudatoolkit=12.2 -c pytorch -n my_env 其中my_env是你的虚拟环境名称,确保你已经激活该环境。

    2. 更改环境变量 根据您的cuda版本和安装路径,更改虚拟环境中的环境变量,例如: conda env config vars set PATH=/mypath/cuda11.8/bin:$PATH -n my_env conda env config vars set LD_LIBRARY_PATH=/mypath/cuda11.8/lib64:$LD_LIBRARY_PATH -n my_env conda env config vars set CUDA_HOME=/mypath/cuda11.8 -n my_env

    3. 激活虚拟环境 使用conda activate my_env来激活虚拟环境。

    4. 测试PyTorch是否成功激活 在命令行输入python,然后输入import torch。若无错误提示,则表明PyTorch已成功激活。否则,请检查以上步骤是否有误,或搜索相关错误信息进行解决。

    总之,按照以上步骤重新安装和激活PyTorch,并更改虚拟环境中的环境变量,就可以成功运行PyTorch了。