如何使用 GTX750 或 1050 显卡安装 CUDA11+

前言

        由于兼容性问题,使得我们若想用较新版本的 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 torchprint(torch.cuda.is_available())
print(torch.__version__)
exit()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/138653.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java TCP服务端多线程接收RFID网络读卡器上传数据

本示例使用设备介绍:WIFI/TCP/UDP/HTTP协议RFID液显网络读卡器可二次开发语音播报POE-淘宝网 (taobao.com) import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; impor…

计算机毕设 基于机器学习的文本聚类 - 可用于舆情分析

文章目录 0 简介1 项目介绍1.1 提取文本特征1.2 聚类算法选择 2 代码实现2.1 中文文本预处理2.2 特征提取2.2.1 Tf-idf2.2.2 word2vec 2.3 聚类算法2.3.1 k-means 2.3.2 DBSCAN2.4 实现效果2.4.1 tf-idf k-means聚类结果2.4.2 word2vec k-means 聚类结果 最后 0 简介 今天学…

抢量双11!抖音商城「官方立减」 缘何成为“爆单神器”?

10月20日抖音商城双11好物节正式开跑,仅仅三天,抖音商城整体GMV对比去年同期提升了200%,而在开跑一周后,一些品牌的销售额已经超过了今年整个618,可谓增势迅猛。其中,平台官方特别推出的「官方立减」玩法&a…

acwing算法基础之搜索与图论--kruskal算法

目录 1 基础知识2 模板3 工程化 1 基础知识 kruskal算法的关键步骤为: 将所有边按照权重从小到大排序。定义集合S,表示生成树。枚举每条边(a,b,c),起点a,终点b,边长c。如果结点a和结点b不连通(用并查集来…

K8S篇之Pod一直处于Pending状态原因解析

常见现象:Pod一直处于Pending状态。 废话不多说,直接上料。 可能原因1:Pod未被调度到节点上。 当 Pod 一直处于 Pending 状态时,说明该 Pod 还未被调度到某个节点上,需查看 Pod 分析问题原因。 例如执行&#xff1a…

计算机网络技术

深入浅出计算机网络 微课视频_哔哩哔哩_bilibili 第一章概述 1.1 信息时代的计算机网络 1. 计算机网络各类应用 2. 计算机网络带来的负面问题 3. 我国互联网发展情况 1.2 因特网概述 1. 网络、互连网(互联网)与因特网的区别与关系 如图所示&#xff0…

【机器学习2】模型评估

模型评估主要分为离线评估和在线评估两个阶段。 针对分类、 排序、 回归、序列预测等不同类型的机器学习问题, 评估指标的选择也有所不同。 1 评估指标 1.1准确率 准确率是指分类正确的样本占总样本个数的比例 但是准确率存在明显的问题,比如当负样本…

【React】05.JSX语法使用上的细节

JSX构建视图的基础知识 JSX:javascript and xml(html)把JS和HTML标签混合在了一起[并不是我们之前玩的字符串标签] 1、vscode如何支持JSX语法[格式化、快捷提示…] 创建的js文件,把后缀名设置为jsx即可,这样js文件中就…

单词规律问题

给定一种规律 pattern 和一个字符串 s ,判断 s 是否遵循相同的规律。 这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 s 中的每个非空单词之间存在着双向连接的对应规律。 示例1: 输入: pattern “abba”, s “dog cat cat d…

可以体现Python语法精妙的十个例子!

文章目录 前言1.for - else2.一颗星*和两颗星**3.三元表达式4.with - as5.列表推导式6.列表索引的各种骚操作7.lambda函数8.yield 以及生成器和迭代器9.装饰器10.巧用断言assertPython技术资源分享1、Python所有方向的学习路线2、学习软件3、精品书籍4、入门学习视频5、实战案例…

“目标值排列匹配“和“背包组合问题“的区别和leetcode例题详解

1 目标值排列匹配 1.1 从目标字符串的角度来看,LC139是一个排列问题,因为最终目标子串的各个字符的顺序是固定的? 当我们从目标字符串 s 的角度来看 LC139 “单词拆分” 问题,确实可以认为它涉及到排列的概念,但这种…

React组件通信:如何优雅地实现组件间的数据传递

在React应用中,组件通信是至关重要的一部分。通过合适的数据传递和交互方式,我们可以构建出更加灵活和高效的前端应用。本文将介绍React组件通信的各种方式,并提供代码实现,帮助你更好地理解和应用这些技术。 1. 使用props进行父子…

acwing算法基础之搜索与图论--prim算法

目录 1 基础知识2 模板3 工程化 1 基础知识 朴素版prim算法的关键步骤: 初始化距离数组dist,将其内的所有元素都设为正无穷大。定义集合S,表示生成树。循环n次:找到不在集合S中且距离集合S最近的结点t,用它去更新剩余…

Java Post请求参数格式为XML

方式一: public static void PostXml1(String url, String xml) throws IOException {OkHttpClient client new OkHttpClient().newBuilder().build();//okhttp3.MediaType mediaType okhttp3.MediaType.parse("application/xml");okhttp3.MediaType m…

MySQL -- mysql connect

MySQL – mysql connect 文章目录 MySQL -- mysql connect一、Connector/C 使用1.环境安装2.尝试链接mysql client 二、MySQL接口1.初始化2.链接数据库3.下发mysql命令4.获取执行结果5.关闭mysql链接6.在C语言中连接MySQL 三、MySQL图形化界面推荐 使用C接口库来进行连接 一、…

【SpringBoot】手写模拟SpringBoot核心流程

依赖包 新建一个工程,包含两个 module: springboot 模块,表示 springboot 源码实现;user 模块,表示业务系统,使用 springboot 模块; 依赖包:Spring、SpringMVC、Tomcat 等&#xff…

oracle中分组函数LISTAGG

前言 Oracle中的 GROUP_CONCAT 函数用于将多行数据合并为一行,并以指定的分隔符分隔各个值。在Oracle中,没有直接的GROUP_CONCAT函数,但可以使用 LISTAGG 函数来实现类似的功能。 如何使用 1、使用SELECT语句选择需要合并的列,…

基于springboot实现致远汽车租赁平台管理系统项目【项目源码+论文说明】

基于springboot实现致远汽车租赁平台系统演示 摘要 首先,论文一开始便是清楚的论述了系统的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了系统的需求基础上需要进一步地设计系统,主要…

防火防盗防小人 使用 Jasypt 库来加密配置文件

⚔️ 项目配置信息存放在哪? 在日常开发工作中,我们经常需要使用到各种敏感配置,如数据库密码、各厂商的 SecretId、SecretKey 等敏感信息。 通常情况下,我们会将这些敏感信息明文放到配置文件中,或者放到配置中心中。…

pytorch DistributedDataParallel 分布式训练踩坑记录

目录 一、几个比较常见的概念:二、踩坑记录2.1 dist.init_process_group初始化2.2 spawn启动(rank怎么来的)2.3 loss backward2.4 model cuda设置2.5 数据加载 一、几个比较常见的概念: rank: 多机多卡时代表某一台机器&#xff…