GPU版本的pytorch安装(显卡为3060ti,如何选择对应的cuda版本)

文章目录

  • 前言
  • 一、基本知识
  • 二、安装步骤
    • 1.首先判断自己有无英伟达的显卡
    • 2.安装或者查看自己的显卡驱动
    • 3.显卡的算力必须与Cuda runtime version相匹配
    • 4.根据以上两条来选择合适Cuda runtime version
    • 5.下载pytorch

前言

显卡为3060ti g6x,操作系统win10

一、基本知识

要清楚下面的几个常识
1.GPU和CPU是采用不同架构设计出来的,简单来说,GPU会比CPU多很多计算单元,用于训练网络时,速度比CPU快很多。
2.CUDA是一个计算平台和编程模型,提供了操作GPU的接口。
3.网上很多教程说的安装CUDA其实是指CUDA Toolkit,是一个工具包
4.CUDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。
5.区分Cuda runtime version和Cuda driver version
这里分享一张某个UP主的图

在命令行中输入nidia-smi

图中的红框的CUDA版本代表的是Cuda driver version,是与我们显卡的驱动相关的。
而常说的安装对应版本的Cuda是指Cuda runtime version,可以理解为Cuda toolkit的版本。
6.很多教程都是单独下载Cuda toolkit和Cudnn,其实对于新手来说,在利用Anaconda创建好虚拟环境之后,可以直接在虚拟环境中运行pytorch的安装命令,会自动把Cuda toolkit和Cudnn安装到这个虚拟环境中。

二、安装步骤

1.首先判断自己有无英伟达的显卡

如果没有,直接按照CPU版本的即可
如果有,进入下一步

2.安装或者查看自己的显卡驱动

在以下网址查看自己显卡对应的驱动。
最好是将自己的显卡驱动更新到最新版本。

https://www.nvidia.cn/Download/index.aspx?lang=cn


驱动安装好之后
在cmd中输入

nvidia-smi


再次提醒,这里的CUDA version:12.1代表Cuda driver version是12.1,是与显卡的驱动相关的。

3.显卡的算力必须与Cuda runtime version相匹配

首先说明一下,这里的Cuda runtime version其实就是Cuda toolkit的版本,即网上很多教程所指的CUDA version(与第二步的区分开)
在以下网址查看显卡算力和与之相匹配的Cuda runtime version

https://en.wikipedia.org/wiki/CUDA#cite_note-38


3060ti对应的算力是8.6
再查看显卡算力8.6对应的Cuda runtime version

对应的版本是11.1-11.4,顺嘴插一句,图中的Ampere是指的该显卡所采用的架构。

4.根据以上两条来选择合适Cuda runtime version

选择的版本应该满足两点要求
(1)Cuda runtime version必须小于等于Cuda driver version,我的例子中,就是必须小于等于12.1。
(2)在满足(1)的条件下,还要满足版本必须与显卡的算力相匹配。
即在我的例子中,选择11.1-11.4都可以,这里有一点我不清楚,如果
Cuda driver version大于11.1-11.4小于等于12.1是否可以,即是否向低版本兼容,我没有试过,有知道的大佬欢迎评论区讨论。

5.下载pytorch

pytorch官网

https://pytorch.org/

这里只有11.7和11.8两个版本,不符合我的要求,点击图中的install previous versions去寻找合适的版本。

根据上面的步骤,满足条件的版本是11.1-11.4,11.4没有,搜索11.3

运行以下命令换源安装pytorch

conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/win-64

将命令后的pytorch换成清华源。
安装过程已退出,无法截图
安装完成后,输入conda list

看到cudatoolkit已经有了,至于cudann,在conda list中找不到,网上说是在pytorch中,通过以下命令可以验证

import torch
print(torch.backends.cudnn.enabled)


最后再验证以下Cuda
输入以下代码

import torch
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
#返回cuda表示成功
#或者
print(torch.cuda.is_available())
#返回True表示成功

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
乘风的头像乘风管理团队
上一篇 2023年6月12日
下一篇 2023年6月12日

相关推荐