如何使用 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()
相关文章:

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

跟着森老师学React Hooks(1)——使用Vite构建React项目
Vite是一款构建工具,对ts有很好的支持,最近也是在前端越来越流行。 以往的React项目的初始化方式大多是通过脚手架create-react-app(本质是webpack),其实比起Vite来构建,启动会慢一些。 所以这次跟着B站的一个教程,使用…...

强力解决使用node版本管理工具 NVM 出现的问题(找不到 node,或者找不到 npm)
强力解决使用node版本管理工具 NVM 出现的问题(找不到 node,或者找不到 npm) node与npm版本对应关系 nvm是好用的Nodejs版本管理工具, 通过它可以方便地在本地调换Node版本。 2020-05-28 Node当前长期稳定版12.17.0,…...

Docker指定容器使用内存
Docker指定容器使用内存 作者:铁乐与猫 如果是还没有生成的容器,你可以从指定镜像生成容器时特意加上 run -m 256m 或 --memory-swap512m来限制。 -m操作指定的是物理内存,还有虚拟交换分区默认也会生成同样的大小,而–memory-…...

做什么数据表格啊,要做就做数据可视化
是一堆数字更易懂,还是图表更易懂?很明显是图表,特别是数据可视化图表。数据可视化是一种将大量数据转化为视觉形式的过程,通过图形、图表、图像等方式呈现数据,以便更直观地理解和分析。 数据可视化更加生动、形象地…...

CSS特效003:太阳、地球、月球的旋转
GPT能够很好的应用到我们的代码开发中,能够提高开发速度。你可以利用其代码,做出一定的更改,然后实现效能。 css实战中,这种球体间的旋转,主要通过rotate()旋转函数来实现。实际上,蓝色的地球和黑色的月球…...

云计算的大模型之争,亚马逊云科技落后了?
文丨智能相对论 作者丨沈浪 “OpenAI使用了Azure的智能云服务”——在过去的半年,这几乎成为了微软智能云最好的广告词。 正所谓“水涨船高”,凭借OpenAI旗下的ChatGPT在全球范围内爆发,微软趁势拉了一波自家的云计算业务。2023年二季度&a…...

【form校验】3.0项目多层list嵌套
const { required, phoneOrMobile } CjmForm.rules; export default function detail() {const { query } getRouterInfo(location);const formRef useRef(null);const [crumbList, setCrumbList] useState([{url: "/wenling/Reviewer",name: "审核人员&quo…...
公共功能测试用例
1、UI测试 布局是否合理,输入框、按钮是否对齐 行列间距是否保持一致弹出窗口垂直居中对其界面的设计风格是否与UI的设计风格一致 系统是否使用统一风格的控件界面的文字是否简洁易懂,是否有错别字 兼容性测试:不同浏览器、版本、分辨率下&a…...

【电路笔记】-并联RLC电路分析
并联RLC电路分析 文章目录 并联RLC电路分析1、概述2、AC的行为3、替代配置3.1 带阻滤波器3.2 带通滤波器 4、总结 电子器件三个基本元件的串联行为已在我们之前的文章系列 RLC 电路分析中详细介绍。 在本文中,介绍了另一种称为并联 RLC 电路的关联。 在第一部分中&a…...
ros1 client
Client(客户端):发布海龟生成请求 [类似Publisher] Serve(服务端):海龟仿真器,接收请求 [类似于Subscriber] Service(服务):生成海龟的具体内容,其中服务类型…...

射频功率放大器应用中GaN HEMT的表面电势模型
标题:A surface-potential based model for GaN HEMTs in RF power amplifier applications 来源:IEEE IEDM 2010 本文中的任何第一人称都为论文的直译 摘要:我们提出了第一个基于表面电位的射频GaN HEMTs紧凑模型,并将我们的工…...
CSP(Common Spatial Patterns)——EEG特征提取方法详解
基于CSP的运动想象 EEG 特征提取和可视化参考前文:https://blog.csdn.net/qq_43811536/article/details/134273470?spm1001.2014.3001.5501 目录 1. CSP是什么?1.1 CSP的含义1.2 CSP算法1.3 CSP特征的特点 2. CSP特征在EEG信号分类任务中的应用2.1 任务…...

【Git】Git 学习笔记_操作本地仓库
1. 安装与初始化配置 1.1 安装 下载地址 在文件夹里右键点击 git bash here 即可打开命令行面板。 git -v // 查看版本1.2 配置 git config --global user.name "heo" git config --global user.email xxxgmail.com git config --global credential.helper stor…...
杂记(3):在Pytorch中如何操作将数据集分为训练集和测试集?
在Pytorch中如何操作将数据集分为训练集和测试集? 0. 前言1. 手动切分2. train_test_split方法3. Pytorch自带方法4. 总结 0. 前言 数据集需要分为训练集和测试集! 其中,训练集单纯用来训练,优化模型参数;测试集单纯用…...

【MySQL篇】数据库角色
前言 数据库角色是被命名的一组与数据库操作相关的权限,角色是权限的集合。因此,可以为一组具有相同权限的用户创建一个角色,使用角色来管理数据库权限可以简化授权的过程。 CREATE ROLE:创建一个角色 GRANT:给角色授…...

c++ 信奥赛编程 2050:【例5.20】字串包含
#include<iostream> #include<cstring> using namespace std; int main() {string str1,str2;int temp;cin>>str1>>str2;//判断长度 if(str1.size()<str2.size()){ swap(str1,str2); //交换内容 }str1str1str1; //AABCDAABCDAABCDAABCDif(str…...

用dbeaver创建一个enum类型,并讲述一部分,mysql的enum类型的知识
写这个博客的目的就是我在网上看了半天,发现没有这方面的知识,也许是老手认为这个太简单了,不过我还是告诉新人使用dbeaver来创建一个enum类型的方法: 就是enum("a","b","name") 第一步用dbeaver…...

Paste v4.1.2(Mac剪切板)
Paste for Mac是一款运行在Mac OS平台上的剪切板小工具,拥有华丽的界面效果,剪切板每一条记录可显示(预览)文本,图片等记录的完整内容,可以记录最近指定条数的剪切板信息,方便用户随时调用&…...

事件绑定-回调函数
1.事件的概念 2.小程序常用的事件集 2.1 bindtap 点击回调事件方法 2.1.1语法格式 2.1.2 事件处理中调用data 使用setDatacount:这种方式 直接使用this.data.count 2.1.3 事件处理中传参 错误示范: 传递方式:数值用{{}},直接引…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...

边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...

P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...