解决PyTorch与CUDA版本不匹配的问题
作者:v-space 发布时间:2023-12-20 14:41:15
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
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
来源:https://blog.csdn.net/weixin_42069606/article/details/105198845
猜你喜欢
- 二叉树中和为某一值的路径:输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直
- 作为前端开发工程师,平时对于Dom的查找遍历和操作是家常便饭。对于优秀的前端来说,也肯定早已有了自己的一套方法来封装这些重复的操作。但是,现
- 原始数据在这里1.观察数据首先,用Pandas打开数据,并进行观察。import numpy import pandas as pdimpo
- Go 语言的 sync 包提供了一系列同步原语,其中 sync.Cond 就是其中之一。sync.Cond 的作用是在多个 goroutin
- 这里给大家分享一段使用PHP Socket 编程模拟Http post和get请求的代码,非常的实用,结尾部分我们再讨论下php模拟http
- 交叉表(cross-tabulation,简称crosstab)是⼀种⽤于计算分组频率的特殊透视表。语法详解:pd.crosstab(ind
- 索引是以表列为基础的数据库对象。索引中保存着表中排序的索引列,并且纪录了索引列在数据库表中的物理存储位置,实现了表中数据的逻辑排序。通过索引
- 关于树莓派四驱小车的运动方向控制、摄像头方向控制已经在前面的两篇博文中介绍过。有需要的可以参考。本文也是基于上述两个python文件就绪的情
- 当然有其它工具可以做这件事,但如果客户不允许你在服务器乱装东西时这个脚本就会有用了。 代码如下:DECLARE @tbImportTable
- 题目:解法一:比较元素是否相等思路说明:这种应该是普通人最先想到的解法,先获取到数组之后进行有小到大排序,然后初始化一个min=0(代表新数
- Socket是什么Socket是一个抽象层,连接了应用层与传输层,是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TC
- 所谓产品其实最终展现在用户面前的只是界面而已,所谓界面绝大多数时候只包括两个部分:图片、文字。重视界面上的每一个像素和每一个文字是UED的基
- 1. 前言相信参与使用Oracle数据库进行项目开发、运维的同学常常被Oracle JDBC驱动的Maven依赖折磨。现在这一情况在今年二月
- 安装sql2000时出现以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机。 安装sql2000是,因
- 前言本文主要给大家介绍了关于Golang map生成有序json数据的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:先来看一段
- paramiko模块paramiko是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作,paramiko是用pytho
- 本文实例讲述了Python简单实现的代理服务器端口映射功能。分享给大家供大家参考,具体如下:一 代码1、模拟服务端代码import sysi
- 本文实例为大家分享了python学生信息管理系统的具体代码,供大家参考,具体内容如下#!/usr/bin/env python# @Time
- (需要安装psutil 用来获取服务器资源,以及pymongo驱动)#pip install psutil#pip install pymo
- 本文主要关于python的正则表达式的符号与方法。findall: 找寻所有匹配,返回所有组合的列表search: 找寻第一个匹配并返回su