解决PyTorch与CUDA版本不匹配的问题

 更新时间:2021年03月17日 09:30:43   作者:v-space  
这篇文章主要介绍了解决PyTorch与CUDA版本不匹配的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

1.CUDA驱动和CUDA Toolkit对应版本

表一:CUDA驱动及CUDA Toolkit最高对应版本

最新可查阅官方文档

注:驱动是向下兼容的,其决定了可安装的CUDA Toolkit的最高版本。

2.CUDA Toolkit版本及其可用PyTorch对应版本(参考官网)

表二:CUDA Toolkit版本及可用PyTorch对应关系

CUDAToolkit版本 可用PyTorch版本
7.5 0.4.1 ,0.3.0, 0.2.0,0.1.12-0.1.6
8.0 1.1.0,1.0.0 ,0.4.1
9.0 1.1.0,1.0.1, 1.0.0,0.4.1
9.2 1.7.1,1.7.0,1.6.0,1.5.1,1.5.0,1.4.0,1.2.0,0.4.1
10.0 1.2.0,1.1.0,1.0.1 ,1.0.0
10.1 1.7.1,1.7.0,1.6.0,1.5.1,1.5.0, 1.4.0,1.3.0
10.2 1.7.1,1.7.0,1.6.0,1.5.1,1.5.0
11.0 1.7.1,1.7.0
11.1 1.8.0

注:虽有的卡驱动更新至较新版本,且CUDA Toolkit及PyTorch也可对应更新至新版本。但有的对应安装包无法使用,有可能是由于卡太旧的原因。

3.安装指导

在安装时会同时安装CUDA Toolkit以及PyTorch,这是我们要知道的。

步骤一:

使用nvidia-smi查询驱动版本:

如图中Driver Version所示,该卡目前的驱动版本为384.81。

步骤二:

此处提供三种方法可供选择。

(1)指定CUDA Toolkit版本

根据表一查询到可安装的CUDA Toolkit版本,384.81对应最高的CUDA Toolkit版本为9.0。

运行conda install pytorch cudatoolkit=9.0 -c pytorch即可。

此方法指定CUDA Toolkit版本后,conda会自动匹配到合适版本的PyTorch。

(2)指定PyTorch版本

根据表一查询到可安装的CUDA Toolkit版本,再根据表二查询到合适版本的PyTorch。384.81对应最高的CUDA Toolkit版本为9.0,9.0可安装PyTorch1.1.0版本。

运行conda install pytorch=1.1.0 -c pytorch即可。

此方法指定PyTorch版本后,conda会自动匹配到合适版本的CUDA Toolkit。

(3)同时指定CUDA Toolkit版本和PyTorch(推荐)

根据表一查询到可安装的CUDA Toolkit版本,根据表二查询到合适版本的PyTorch。

运行conda install pytorch=1.1.0 cudatoolkit=9.0 -c pytorch即可。

注:PyTorch1.8.0和1.0.0以前版本使用conda安装时命令有些许不同,具体可查看官网

4.验证安装是否成功

#使用python运行
import torch
print(torch.__version__)
print(torch.cuda.is_available())

卸载当前版本PyTorch:

conda uninstall pytorch

补充:查看PyTorch的版本及CUDA和cuDNN版本

检查PyTorch版本

torch.version # PyTorch version
torch.version.cuda # Corresponding CUDA version
torch.backends.cudnn.version() # Corresponding cuDNN version
torch.cuda.get_device_name(0) # GPU type

更新PyTorch

conda update pytorch torchvision -c pytorch

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • 使用Python实现SSH隧道界面功能

    使用Python实现SSH隧道界面功能

    这篇文章主要介绍了使用Python实现一个SSH隧道界面功能,界面使用tkinter实现,左边是输入隧道的信息,右边为历史列表,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2022-02-02
  • python文字转语音实现过程解析

    python文字转语音实现过程解析

    这篇文章主要介绍了python文字转语音实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • Python查询缺失值的4种方法总结

    Python查询缺失值的4种方法总结

    缺失值可能是数据科学中最不受欢迎的值,然而,它们总是在身边。忽略缺失值也是不合理的,因此我们需要找到有效且适当地处理它们的方法。本文总结了四个Python查询缺失值的方法,需要的可以参考一下
    2022-05-05
  • 不到20行实现Python代码即可制作精美证件照

    不到20行实现Python代码即可制作精美证件照

    这篇文章主要介绍了不到20行实现Python代码即可制作精美证件照,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Python基础之文本常量与字符串模板

    Python基础之文本常量与字符串模板

    这篇文章主要介绍了Python基础之文本常量与字符串模板,文中有非常详细的代码示例,对正在学习python的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-04-04
  • pycharm运行出现ImportError:No module named的解决方法

    pycharm运行出现ImportError:No module named的解决方法

    今天小编就为大家分享一篇pycharm运行出现ImportError:No module named的解决方法。具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • Linux CentOS7下安装python3 的方法

    Linux CentOS7下安装python3 的方法

    在CentOS7下,默认安装的就是python2.7,下面通过本文给大家分享Linux CentOS7下安装python3 的方法,需要的朋友参考下吧
    2018-01-01
  • 解决Pytorch训练过程中loss不下降的问题

    解决Pytorch训练过程中loss不下降的问题

    今天小编就为大家分享一篇解决Pytorch训练过程中loss不下降的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • python命令行引导用户填写可用的ip地址和端口号实现

    python命令行引导用户填写可用的ip地址和端口号实现

    这篇文章主要为大家介绍了python命令行引导用户填写可用的ip地址和端口号实现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • 深入了解Python中Pytest Markers的使用方法

    深入了解Python中Pytest Markers的使用方法

    从这篇开始,逐一解决fixture是啥,mark是啥,参数request是啥,钩子函数是啥,parametrize参数化是啥,这些问题,本片先介绍一下mark是啥,以及如何使用
    2023-09-09

最新评论