py-Torch调用gpu返回torch.cuda.is_available返回False或无法调用dll解决方法

本解决方案发布于2020/10/20,请根据您的时间判断是否适用

请按照以下步骤排查

  • 显卡是否支持CUDA架构
    ttps://developer.nvidia.com/cuda-gpus
  • CUDA toolkit版本(关键!不要选择CUDA11)
    由于目前的PyTorch稳定版最高只支持CUDA10.2,如果想支持目前的CUDA11架构需要手动编译,我还没成功过所以不讨论这个方法
    CUDA toolkit 10.2链接 https://developer.nvidia.com/cuda-10.2-download-archive
    pytorch home.png
  • 下载PyTorch
    从pytorch主页https://pytorch.org/get-started/locally/选择系统,语言和CUDA版本号后,复制最下面的指令到控制台运行。(关键! 别着急运行)
    如果细心的话你会发现在pytorch的官方下载源里没有给python3.9准备(.whl)安装文件,也就是说最高只支持到cp38(python3.8),如果你的python是3.9请把它降级到3.8,
    如果用python3.9强制引入torch库会报无法调用dll文件的错
''...lib\site-packages\torchvision\__init__.py'' line xx failed to load dll or its dependences.

pytorch download.png

注意!回滚python版本可能需要重装部分在python3.9安装的库,例如torch依赖的numpy,也需要降级到cp38,卸载重装即可

最终
final.png

你可能感兴趣的:(py-Torch调用gpu返回torch.cuda.is_available返回False或无法调用dll解决方法)