使用win10+RTX4000从零搭建pytorch+CUDA+cudnn的经验之谈

article/2025/9/18 16:28:50

前言

最近有本地部署深度学习模型的需求,故采购了新电脑,以往都是在云端已经搭建好的环境下操作,还从来没有本地从零搭建,所以来总结一下昨天搭建时碰到的障碍和一些经验分享。注:本文不提供具体教程,因为写同类文章的太多了,需要可以点击这里。另,本文预装torch版本为1.9,明面上支持的cuda版本为10.2,但实际上最新的CUDA11.5也一样能用,所以啥都装最新的就完事了。别信啥特定版本匹配兼容什么的,问就装最新。

拿到新电脑,我该做什么?

我的第一步:找到英伟达控制面板和体验中心(安装最新显卡驱动)
一般来说,英伟达控制面板,即NVIDIA控制面板,在右下角设置里右键是可以找到的,而GeForce Experience是多数游戏电脑会预装,正经电脑不会预装这个,但它用来更新显卡驱动很方便。
在这里插入图片描述
然后点开面板可能会报第一个错误:NVIDIA显示设置不可用:您当前未使用连接到NVIDIA GPU 的显示器。这个错误在台式电脑上就是线插错了,没有把线接到独立显卡上。在拆开机箱重新插线后,此错误解决。
然后可以像大多数教程里所说的查看显卡驱动信息和帮助里的系统信息。一般来说,都是出厂设置的旧驱动,没有什么价值,因为我们只要装最新的就行了。下面是已经更新完毕之后的图。
在这里插入图片描述
在这里插入图片描述
接下来就要安装最新的显卡驱动,一种方式,是你直接上官网根据型号自己选择下载(不推荐,除非你是硬件大佬),另一种方式,就是下载上文中提到的
geforce experience
(直接百度搜索进官网下载)来自动检测显卡最新驱动下载。
在这里插入图片描述
总之打开是这样,在驱动程序里,会显示最新的驱动,选择快速安装就完事了。

我的第二步,该下载的其他东西一口气下载完
先把所有东西下好是个好习惯,既然我们显卡驱动是最新的,那么cuda和cudnn我们也要下载最新的,还是进官网下载(想要把出错率降到最低,首选官网,拒绝无良网盘过气版本整理)。下载完是这样的:
在这里插入图片描述
可能有人说官网好慢进都进不去怎么下载,我只能说我公司网都能5M/s速度下载,实在不行你就上那个软件对吧,就像我下载列的第一个软件(它有官网直接百度搜索名字),懂得都懂,记得节点选择美国西部。

python环境的部署,我还是选择了anaconda,并在安装的时候把添加到环境变量(add to path)勾上,一键安装真省事。

torch的下载,既然要用gpu,就千万别pip install torch==1.9.0这样下载了,需要pip install xxxxxxxxxx.whl,具体版本直接搜索torch gpu。如果你不幸下载了cpu版本的torch,你会发现torch.cuda.is_available()导出的值为False,torch.version.cuda的值为None。

我的第三步,按部就班的安装。

顺序为cuda---->cudnn—>验证安装是否完毕—>安装anaconda—>命令行安装torch的pip wheel–>验证torch能否识别显卡。

cuda的安装直接一路点到底就完事了,有VS会给你安装VS的相关组件,没VS的不会给你安装,不用自定义自己安装。

cudnn的安装需要细化一下,cudnn本质是cuda的扩展组件,所以只要把它的内容复制进cuda目录就行了,问题在于怎么复制,网上讲的云里雾里说法不一,其实很简单,复制进对应文件夹就行,如下:
在这里插入图片描述
cudnn解压出来有三个文件夹,bin和include直接复制进:
在这里插入图片描述
lib里面的lib文件复制进cuda的lib下的x64文件夹:
在这里插入图片描述
验证:
在这里插入图片描述

在这里插入图片描述具体命令如果图里看不清可以看前言中的链接里写的自己打进去(记得切换到特定目录),或者网上搜索,总之挺多的就不细讲了。
装完cuda之后就是装anaconda,然后装torch,装完后再次验证:
torch.cuda.is_available()
torch.cuda.device_count()
torch.cuda.current_device()
torch.cuda.get_device_capability(device)
torch.cuda.get_device_name(device)
在这里插入图片描述
我这里的device识别为0,即0为独立显卡,名称为Quadro RTX 4000。这些命令都能正常出结果就代表大功告成了。其实仔细点的话安装最多一个下午搞定,还是挺简单的。


http://chatgpt.dhexx.cn/article/S1FQJfo4.shtml

相关文章

(一)Win32进程通信 —— 自定义消息实现

自定义消息 系统定义消息,非用户定义,其范围在[0x0000,0x03ff] 之间,也就是说我们定义的消息的范围不能在这之间, 如果用户自定义的消息,可以使用如下两种方式(其实不止两种)&#x…

WIN7 命令行

查看具体端口占用情况:4000端口被QQ.exe占用了 C:\Users\Administrator>netstat -ano|findstr 4000 UDP 0.0.0.0:4000 : 4860 C:\Users\Administrator>tasklist|findstr 4860 QQ.exe 4860 Console 1 96,744 K ncpa.cpl打开网络设备管理窗口

爬虫实战——批量爬取明星图片(http://www.win4000.com/)

爬取网站 美桌(http://www.win4000.com) 由于该网站并没有robots协议,因此可以任意爬取。 技术路线 requestsre 除此之外用到了pypinyin库用于进行名字到拼音的转换 代码 # -*- coding: utf-8 -*- """ Created on Mon O…

Cleartext HTTP traffic to pic1.win4000.com not permitted

首先理解清楚字面意思: 不允许明文HTTP访问方式 理解字面意思之后,我们可以打开google官网,找到Android的http安全配置说明文档 大概意思是说,所有连接都应该使用安全连接( TLS 和 HTTPS 加密协议)默认均信任预装的…

给大家分享几个不错的高清壁纸网

正文: 很多朋友都在找壁纸,但是又不知道去哪里找,所有今天我给大家分享几个不错的壁纸站,当然不仅限于下面的这些壁纸站,其实壁纸站有非常得多,我只是随便给大家整理了几个。 1.极简壁纸: 网站地址:bz.z…

配置交叉编译工具链和环境变量

配置交叉编译工具链和环境变量 1 设置交叉编译工具链1.1 永久生效1.2 临时生效1.3 手动指定 2 测试交叉编译工具链2.1 测试环境变量2.2 测试交叉编译器 3 如何添加交叉编译工具链(toolchain)到环境变量?(--sysroot路径&#xff09…

配置交叉编译工具链

文章目录 1 配置交叉编译工具链1.1 永久生效1.2 临时生效1.3 手动指定 2 测试交叉编译工具链 简单记录一下配置交叉编译工具链的过程。 1 配置交叉编译工具链 交叉编译工具链存放于/home/book 目录下。设置交叉编译工具主要是设置 PATH, ARCH 和 CROSS_COMPILE 三个…

ARM学习(19)交叉编译工具链的理解

笔者来聊聊交叉编译工具链 1、认识 正常理解的,比如windows下编译出来windows上面运行,visual stdio,等,这是因为windows有能力编译出来,有对应的VC工具链,这是本地编译。 假如一个51板子或者stm32板子&a…

交叉编译工具链配置

第一步, 将文件放在Linux根目录下(目录可以自己选择,记住即可),通过下面命令解压: unzip aarch64-poky-linux-7.3-glibc-2.27.zip第二步: cd aarch64-poky-linux-7.3-glibc-2.27目录下&#…

构建gcc交叉编译工具链

如何构建一个GCC交叉编译工具链 GCC不仅是一个编译器,它是一个开源工程,可以让你建立各种编译器。一些编译器支持多线程,一些支持共享库,一些支持Multilib(典型的应用是在64位机上运行32位应用程序)&#…

ARM交叉编译工具链分类说明

为什么要用交叉编译器? 交叉编译通俗地讲就是在一种平台上编译出能运行在体系结构不同的另一种平台上的程序,比如在PC平台(X86 CPU)上编译出能运行在以ARM为内核的CPU平台上的程序,编译得到的程序在X86 CPU平台上是不…

ARM-Linux 交叉编译工具链安装

创建时间:2022-04-12-23:10 说明:在Linux下安装arm-linux交叉编译工具链 修改时间: 修改内容: 1. 前言 在ubuntu中系统自带的gcc编译器是基于x86架构的,通过该编译器编译出来的代码只能在x86架构上运行。 如果需要在x…

【linux】安装Linux的交叉编译工具链

1、linux中装软件的特点 linux中安装软件比windows中复杂。linux中安装软件一般有以下几种方法: 第一种:在线安装。譬如ubuntu中使用apt-get install vim来安装vim软件。 第二种:自己下载安装包来安装。这种方式的缺陷就是你不知道你…

制作交叉编译工具链

制作交叉编译工具链 编写可以在ARM上运行的程序需要使用arm-linux-gcc交叉编译工具。因此,需要制作一套交叉编译器工具链,使用它,可以让代码运行在ARM平台上。 制作arm-linux交叉编译工具链一般通过crosstool工具或者crosstool-NG&#xff…

【交叉编译】配置交叉编译工具链

配置交叉编译工具链 一、 设置交叉编译工具链1.永久生效2.临时生效3.手动指定 二、测试交叉编译工具链1.测试环境变量:2.测试交叉编译器: 一、 设置交叉编译工具链 交叉编译工具链用来在Ubuntu主机上编译应用程序,而这些应用程序是在ARM等其…

【编译原理】交叉工具链详解

1、嵌入式开发模型-交叉开发 在嵌入式开发过程中有宿主机和目标机的角色之分,宿主机是执行编译、链接嵌入式软件的计算机,目标机是运行嵌入式软件的硬件平台。在宿主机执行编译的流程如下: 而所谓的交叉编译就是:在一种平台上编…

linux交叉编译工具链安装

交叉编译器中“交叉”的意思就是在一个架构上编译另外一个架构的代码,相当于两种架构“交叉”起来了。   交叉编译器有很多种,我们使用 Linaro 出品的交叉编译器,Linaro 一间非营利性质的开放源代码软件工程公司,Linaro 开发了很…

常用的交叉编译工具链

交叉编译工具链是一种用于在一个平台上编译另一个平台上运行的程序的软件工具集,它通常包括编译器、链接器、汇编器等组件。 交叉编译工具链的命名一般遵循 target-platform-triplet 的格式,例如 arm-linux-gcc 表示用于生成 ARM 平台上 Linux 系统下运…

基于cmake的交叉编译工具链

基于cmake的交叉编译工具链 本文转载自:https://segmentfault.com/a/1190000019276315,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有。 一、基本概念 1. 什么是交叉编译 交叉编译是A机器上编译生成,运行在B机…

交叉编译工具链建立与常识

交叉编译工具链的命名规则 arch [-vendor] [-os] [-(gnu)eabi] arch – 体系架构,如ARM,MIPS,对于MIPS可能还分大端模式mips或者小端模式mipsel; vendor – 工具链提供商,可能有的工具链会省去这个字段,…