前言

由于兼容性问题,使得我们若想用较新版本的 PyTorch,通过 GPU 方式训练模型,也得更换较新版本得 CUDA 工具包。然而 CUDA 的版本又与电脑显卡的驱动程序版本关联,如果是低版本的显卡驱动程序安装 CUDA11 及以上肯定会失败。

比如 GTX750Ti 或 GTX1050Ti,出厂的驱动程序版本在 450 以下,也就只能装 CUDA9 和 CUDA10 之类的版本。那么有什么方法用前面这两种显卡安装 CUDA11 以上的版本呢?下面就通过更新显卡驱动程序来完成这一任务,其中包括查看版本,各种版本的关联,如何下载安装等白话文方式演示。

查看显卡驱动版本

这里 强调一下,要安装 CUDA 的条件是电脑有独立显卡,并且显卡是英伟达也就是 N 卡。保证这一点我们可以通过桌面右键进入 “NVIDIA 控制面板” 和 "nvidia-smi.exe" 命令的两种方式查看显卡的驱动程序版本号。

NVIDIA 控制面板

点击 “系统信息”,其中 “显示” 下的 “项目” 就是显卡型号,“细节” 里主要查看 “驱动程序版本” 和 “驱动器类型”,后面要根据显卡型号和驱动器类型下载新版本的驱动程序。也可以在 “组件” 的 “3D 设置” 下查看 “NVCUDA64.DLL”,这就是当前驱动支持的 CUDA 最大版本。

NVIDIA-SMI

这个英伟达显卡在 Windows 下的一个监控工具,通过 cmd 可以不仅可以查看当前显卡的基本信息,也能查看 GPU 实时的运行情况。通过 cmd 输入 “nvidia-smi” 查看最新信息, "nvidia-smi -l 2" 查看实时信息 (2 就是 2 秒刷新一次),工具的参数上面图片有简单标注。

如果 cmd 输入后找不到该命令,需要把 “C:\Program Files\NVIDIA Corporation\NVSMI” (监控工具默认位置) 添加到 "path" 的环境变量中。

显卡驱动下载

可以进入英伟达网站 www.nvidia.com/Download/Find.aspx?lang=en-us,选择显卡型号,特别注意 "Windows Driver Type",这个就是上面查看的 “驱动器类型”。一般以前出厂 windows10 电脑都是 Standard,切记一定要根据驱动器类型下载,不然后面安装显卡驱动会报以下错误。

This DCH driver package is not compatible with the currently installed version of Windows.
This system is configured to require a Standard driver package. The correct driver
can be downloaded from by selecting the "Standard" option under the "Windows Driver Type" menu.

从上面 GTX 750 Ti 的标准类型搜索结果看,最新的版本是 472.12,而 DCH 有 500 以上的更新的版本。如果一定要用相当新的版本,官网也提供了将标准驱动类型修改为 DCH 的,但 win 系统版本有一个限制,具体可以在网上查找这里看以后再更新说明。不过呢 472 的驱动程序版本其实完全够用,可以搭配最大支持 CUDA11.0 到 CUDA12.0 之间的版本,也就意味着我们可以用 1.10 上下的 pytorch 的 cu 版本,现在最新也才 2 点几,像之前火热的 AI 绘画 "stable diffusion" 和 AI 音色克隆 “so-vits-svc” 就可以搭起来跑了。

CUDA 下载

已经更新完显卡驱动程序后,再重复前面查看版本号方式。看到驱动程序版本号和最大支持 CUDA 版本,记录下来。然后进入官网的 CUDA Release Notes,也可以查看到驱动程序版本与各种 CUDA 版本的对应关系。

上面的 “CUDA Toolkit” 下 CUDA 11.4 有五个版本,其中带 Update 的是正式版发布后的迭代版本,依次是 11.4.1 一直到 11.4.4,最右边就是 WIN 的最低驱动程序版本。根据我们查询的 472.12,当然 Updae4 也可以,最好按他们要求选 11.4.2 或以下。然后进入英伟达开发者网 developer.nvidia.com/cuda-toolkit-archive,选择后下载,以及 CUDNN 也要下载再依次安装。(这个在前面文章有介绍此处就略过了)

PyTorch 版本下载

前面把 CUDA 和 CUDNN 安装配置好之后,环境变量会自动添加,然后通过 cmd 输入 “nvcc -V” 查看 到 CUDA 的版本表示安装无误,接着就是去 download.pytorch.org/whl/torch_stable.html 查看 CUDA 与 pytorch 对应版本了,也可以直接下载 whl。cu 表 CUDA 版本,cpu 表 CPU 版本,由于没有 11.4 的我们可以选择 cu113 的搜索,然后挑选系统版本,Python 版本。

后面如果需要 torchaudio、torchtext 等库,也一定要找相对应版本的,不然不是无法用 gpu 运行就是版本不兼容,pip 自动把 torch 调高或调低,甚至直接改成 cpu 版,而有时候就只是一个小版本都不支持,这一点很恼火。

GPU 运行

驱动、工具包、依赖库等一切准备好后,在项目运行前,可以通过以下代码检测一下 gpu 是否可用。其实这里想说一下,我感觉是在小模型训练时,GPU 加速并没有比 CPU 快多少,但是有一个好处。如果是用 CPU 做训练,跑起来后配置一般的电脑可能就动不了。而如果丢给 GPU,负载就给到他了,我可以再继续调其他代码或放放音乐啥,只要不玩游戏或做什么 3D 预览渲染啥的。

import torch

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

如何使用 GTX750 或 1050 显卡安装 CUDA11+的更多相关文章

  1. CentOS 7.0 Nvidia显卡安装步骤

    from: http://blog.sina.com.cn/s/blog_49c0985a0102v3fa.html CentOS 7.0 Nvidia显卡安装步骤: 1 在英伟达官网下载相应驱动 搜 ...

  2. Ubuntu16笔记本双显卡安装NVIDIA驱动

    blockquote { direction: ltr; color: rgb(0, 0, 0) } blockquote.western { font-family: "Liberatio ...

  3. Centos ATI 显卡安装,“LCD 信号超出范围” 解决方法

    centso ATI 显卡驱动安装 centos 版本 32位 6.4 Final ATI 显卡版本:Radeon HD 7400 Series 之前由于很久自己安装了centos显卡,分辨率很低不能 ...

  4. (转)使用HMC接管通过串口或显卡安装的分区操作系统

    使用HMC接管通过串口或显卡安装的分区操作系统 原文:http://m.blog.itpub.net/23135684/viewspace-1062084/ 这是一个真实的案例,客户有一台P550的服 ...

  5. Ubuntu 13.04 双显卡安装NVIDIA GT 630M驱动

    [日期:2013-05-24]   Linux系统:Ubuntu 13.04 安装 bumblebee 以管理双显卡,下面命令会自动安装NVIDIA显卡驱动 sudo add-apt-reposito ...

  6. debian 9 双显卡安装NVIDIA显卡驱动

    最近用debian,给debian装n卡驱动折腾了好几天了,主要还是网络不好,官方wiki的方法下载经常卡死..摸索了几天感觉已经摸到了头绪,决定写下来供大家参考参考 先提供单显卡NVIDIA驱动的安 ...

  7. 笔记本1050ti显卡安装最新驱动版本 (415.27) 记录 NVIDIA显卡GeForce系列 (Ubuntu18.04)

    在Linux上安装驱动,这事情多半是跑CUDA程序的人才会搞的,多年前学CUDA时为这一步骤头疼的很,现如今已经比较熟悉了,今日给出一些记录. 首先,在NVIDIA官方网站上找到驱动下载页面: htt ...

  8. 显卡安装一直循环在登录界面——解决之-T450安装显卡驱动和cuda7.5发现的一些问题

    今天,在笔记本T450上,要装zed双目相机的驱动,需要显卡模块和cuda7.5,使用了三种方式,才成功. 1.使用 sudo ubuntu-drivers devices 来查看显卡支持驱动版本,因 ...

  9. Nvidia显卡安装驱动

    首先要知道需要安装哪个类型的显卡驱动,可以使用如下指令查看 sudo add-apt-repository ppa:graphics-drivers在#current那一栏中找到显卡驱动型号,使用的是 ...

  10. ubuntu 16.04 gtx1060 显卡安装【转】

    本文转载自:https://blog.csdn.net/u010925447/article/details/79754044 版权声明:本文为博主原创文章,未经博主允许不得转载. https://b ...

随机推荐

  1. Redis理论

    什么是Redis Redis(Remote Dictionary Server)是使用C语言编写的,开源的(BSD许可)高性能非关系型(NoSQL)的键值对数据库. Redis可以存储键和五种不同类型 ...

  2. Singleton Pattern 单例模式简介与 C# 示例【创建型】【设计模式来了】

    〇.简介 1.什么是单例模式? 一句话解释:   单一的类,只能自己来创建唯一的一个对象. 单例模式(Singleton Pattern)是日常开发中最简单的设计模式之一.这种类型的设计模式属于创建型 ...

  3. Qt+GDAL开发笔记(二):在windows系统msvc207x64编译GDAL库、搭建开发环境和基础Demo

    前言   上一篇使用mingw32版本的gdal,过程曲折,为更好的更方便搭建环境,在windows上msvc方式对于库比较友好.   大地坐标简介 概述   大地坐标(Geodetic coordi ...

  4. 用 Python 自动创建 Markdown 表格 - 每天5分钟玩转 GPT 编程系列(4)

    目录 1. 他们居然问我要 Prompts 2. 让 GPT-4 来写代码 2.1 我对 DevChat 说 2.2 DevChat 回答 2.3 我又对 DevChat 说 2.4 DevChat ...

  5. nodejs端模块化方式comomjs详解

    nodejs端实现模块化的方式通常是通过commonjs,使用模块化可以复用js代码,使得逻辑结构更为清晰. commonjs的语法规则如下通过 module.exports 或者 exports 导 ...

  6. [selenium]浏览器基本操作

    前言 版本: python:3.9 selenium:4.1.5 浏览器:firefox 创建浏览器对象 from selenium import webdriver driver = webdriv ...

  7. 通过jmeter上传/导入文件

    系统性能测试,需要模拟生产环境搭建应用服务和建造环境数据,最大限度的还原生产环境,使系统性能测试的指标更加合乎实际,真实.准确. 如某项目财务系统中的薪资管理模块做工资计算的压测,需要在系统内造179 ...

  8. Python 潮流周刊#15:如何分析 FastAPI 异步请求的性能?

    你好,我是猫哥.这里每周分享优质的 Python.AI 及通用技术内容,大部分为英文.标题取自其中一则分享,不代表全部内容都是该主题,特此声明. 本周刊精心筛选国内外的 250+ 信息源,为你挑选最值 ...

  9. 8.0 Python 使用进程与线程

    python 进程与线程是并发编程的两种常见方式.进程是操作系统中的一个基本概念,表示程序在操作系统中的一次执行过程,拥有独立的地址空间.资源.优先级等属性.线程是进程中的一条执行路径,可以看做是轻量 ...

  10. 《SQL与数据库基础》08. 多表查询

    目录 多表查询 多表关系 一对多 多对多 一对一 多表查询概述 分类 内连接 外连接 自连接 联合查询 子查询 分类 标量子查询 列子查询 行子查询 表子查询 案例 本文以 MySQL 为例 多表查询 ...